DE102022202781A1 - Effiziente ausbreitung von benachrichtigungen über fehlerhafte weiterleitungen - Google Patents

Effiziente ausbreitung von benachrichtigungen über fehlerhafte weiterleitungen Download PDF

Info

Publication number
DE102022202781A1
DE102022202781A1 DE102022202781.7A DE102022202781A DE102022202781A1 DE 102022202781 A1 DE102022202781 A1 DE 102022202781A1 DE 102022202781 A DE102022202781 A DE 102022202781A DE 102022202781 A1 DE102022202781 A1 DE 102022202781A1
Authority
DE
Germany
Prior art keywords
notification
port
ports
address
network element
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
DE102022202781.7A
Other languages
English (en)
Inventor
Jose YALLOUZ
Lion Levi
Gil Mey-Tal
Daniel Klein
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
Original Assignee
Mellanox Technologies 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 Ltd filed Critical Mellanox Technologies Ltd
Publication of DE102022202781A1 publication Critical patent/DE102022202781A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing

Abstract

Ein Netzwerkelement umfasst eine Verarbeitungsschaltung und mehrere Ports. Die Ports sind über Verbindungen mit einem Kommunikationsnetzwerk verbunden. Die Verarbeitungsschaltung ist so konfiguriert, dass sie Pakete über die Ports empfängt und die empfangenen Pakete über die Ports an entsprechende Zieladressen weiterleitet. Die Zieladressen sind in Adressgruppen organisiert, wobei jede Adressgruppe mehrere Zieladressen von Knoten enthält, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind. Die Verarbeitungsschaltung ist ferner so konfiguriert, dass sie als Reaktion auf die Feststellung, dass ein bestimmter Port mit einer fehlerhaften Verbindung verbunden ist, eine oder mehrere Adressgruppen bestimmt, die aufgrund der fehlerhaften Verbindung über den bestimmten Port unerreichbar geworden sind, eine Benachrichtigung erzeugt, die eine oder mehrere der bestimmten Adressgruppen meldet, die über einen anderen Port als den bestimmten Port unerreichbar sind, und die Benachrichtigung über einen oder mehrere andere Ports als den bestimmten Port an ein oder mehrere andere Netzwerkelemente übermittelt.

Description

  • TECHNISCHER BEREICH
  • Die hier beschriebenen Ausführungsformen beziehen sich allgemein auf die Datenkommunikation und insbesondere auf Verfahren und Systeme zur effizienten Ausbreitung bzw. Übertragung von Benachrichtigungen über fehlerhafte Weiterleitungen.
  • HINTERGRUND
  • Bei Kommunikationssystemen können verschiedene Fehler auftreten, die die Leistung beeinträchtigen. So kann ein Ausfall einer Verbindung zum Verlust von Daten, zu einer Überlastung oder zu beidem führen.
  • Verfahren zur Abschwächung von Leistungseinbußen aufgrund eines Verbindungsausfalls sind in der Technik bekannt. Zum Beispiel beschreibt das US-Patent 9,391,874 ein Verfahren zur Umleitung von Verkehr in einem Kommunikationsnetzwerk im Falle eines Fehlers auf einem Pfad über das Netzwerk, wobei das Verfahren die Bestimmung umfasst, ob ein erster Knoten, der sich zwischen dem Fehler und einem Netzwerkeingangsknoten befindet, in der Lage ist, Verkehr auf einen alternativen Pfad umzuschalten, der den Fehler vermeidet, und wenn festgestellt wird, dass der erste Knoten nicht in der Lage ist, dann die Bestimmung, ob ein zweiter Knoten, der sich stromaufwärts des ersten Knotens befindet, in der Lage ist, Verkehr auf einen alternativen Pfad umzuschalten, der den Fehler vermeidet.
  • Ein weiteres Beispiel ist das US-Patent 8,619,546 , das die Fähigkeit zur Bewältigung von Verbindungsausfällen in Architekturen mit zentraler Steuerungsebene beschreibt. Die Fähigkeit zur Bewältigung von Verbindungsausfällen ermöglicht die gezielte Benachrichtigung von Verbindungsausfällen innerhalb des Netzes auf eine Weise, die eine Überflutung mit Verbindungsausfallsbenachrichtigungen (kurz LFMs für Engl. „link failure messages“) innerhalb des Netzes verhindert. Ein Verfahren zum Melden eines Ausfalls einer mit einem Knoten verbundenen Verbindung umfasst das Erfassen eines Ausfalls einer mit dem Knoten verbundenen Verbindung, das Identifizieren einer Schnittstelle des Knotens, die mit der ausgefallenen Verbindung verbunden ist, das Identifizieren einer Eingangsschnittstelle des Knotens, über die ein für die ausgefallene Verbindung bestimmter Fluss empfangen wird, aus einer Fluss-Tabelle des Knotens, das Erzeugen einer LFM für die identifizierte Eingangsschnittstelle und das Senden der LFM über die identifizierte Eingangsschnittstelle.
  • Ein Whitepaper von Mellanox® Technologies, 2019, beschreibt eine Lösung namens SHIELD™ (Self-Healing Interconnect Enhancement for Intelligent Datacenters), die die bereits in die neueste Generation von InfiniBand-Switches integrierte Intelligenz nutzt. Durch die Fähigkeit der Fabric, sich selbst zu heilen, kann die Geschwindigkeit, mit der die Kommunikation bei einem Verbindungsausfall korrigiert werden kann, um das 5000-fache erhöht werden, was schnell genug ist, um die Kommunikation vor teuren Neuübertragungen oder einem Totalausfall zu bewahren. Aspekte der SHIELD-Lösung werden zum Beispiel im US-Patent 9,729,473 beschrieben.
  • ZUSAMMENFASSUNG
  • Die Erfindung wird durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Anwendungsbereich der Ansprüche fallen können oder auch nicht.
  • Eine hier beschriebene Ausführungsform stellt ein Netzwerkelement bereit, das eine Verarbeitungsschaltung und mehrere Ports umfasst. Die Ports sind so konfiguriert, dass sie über Verbindungen mit einem Kommunikationsnetzwerk verbunden werden können. Die Verarbeitungsschaltung ist so konfiguriert, dass sie Pakete über die Ports empfängt und die empfangenen Pakete über die Ports an entsprechende Zieladressen weiterleitet. Die Zieladressen sind in Adressgruppen organisiert, wobei jede Adressgruppe mehrere Zieladressen von Endknoten enthält, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind. Die Verarbeitungsschaltung ist ferner so konfiguriert, dass sie als Reaktion auf die Feststellung, dass ein bestimmter Port mit einer fehlerhaften Verbindung verbunden ist, eine oder mehrere Adressgruppen bestimmt, die aufgrund der fehlerhaften Verbindung über den bestimmten Port unerreichbar geworden sind, eine Benachrichtigung erzeugt, die eine oder mehrere der bestimmten Adressgruppen meldet, die über einen anderen Port als den bestimmten Port unerreichbar sind, und die Benachrichtigung über einen oder mehrere andere Ports als den bestimmten Port an ein oder mehrere andere Netzwerkelemente übermittelt.
  • In einigen Ausführungsformen ist die Verarbeitungsschaltung so konfiguriert, dass sie als Reaktion auf den Empfang eines an den bestimmten Port weiterzuleitenden Pakets erkennt, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist. In anderen Ausführungsformen ist die Verarbeitungsschaltung so konfiguriert, dass sie erkennt, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist, unabhängig vom Empfang eines Pakets zur Weiterleitung an den bestimmten Port. In wieder anderen Ausführungsformen sind die Adressgruppen mit jeweils eindeutigen Adressgruppenkennungen verbunden, und die Verarbeitungsschaltung ist so konfiguriert, dass sie in der Benachrichtigung die Adressgruppenkennungen der bestimmten Adressgruppen meldet.
  • In einer Ausführungsform ist die Verarbeitungsschaltung so konfiguriert, dass sie eine Abbildung (ein Mapping) vorhält, das jeden Port des Netzwerkelements den jeweiligen Adressgruppen zuordnet, die über den Port erreichbar sind, und dass er die eine oder mehreren Adressgruppen bestimmt, indem er den bestimmten Port den jeweiligen Adressgruppen unter Verwendung der Abbildung (des Mappings) zuordnet. In einer anderen Ausführungsform ist die Verarbeitungsschaltung so konfiguriert, dass er nach der Übertragung der Benachrichtigung, die eine bestimmte Adressgruppe meldet, die Übertragung einer anderen Benachrichtigung, die die bestimmte Adressgruppe meldet, unterlässt.
  • Gemäß einer hierin beschriebenen Ausführungsform wird zusätzlich ein Verfahren bereitgestellt, das in einem Netzwerkelement, das mehrere Ports zur Verbindung über Verbindungen mit einem Kommunikationsnetzwerk enthält, den Empfang von Paketen über die Ports und die Weiterleitung der empfangenen Pakete an entsprechende Zieladressen über die Ports umfasst. Die Zieladressen sind in Adressgruppen organisiert, wobei jede Adressgruppe mehrere Zieladressen von Endknoten enthält, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind. Als Reaktion auf die Feststellung, dass ein bestimmter Port mit einer fehlerhaften Verbindung verbunden ist, werden eine oder mehrere Adressgruppen bestimmt, die über den bestimmten Port aufgrund der fehlerhaften Verbindung unerreichbar wurden. Es wird eine Benachrichtigung generiert, die eine oder mehrere der ermittelten Adressgruppen meldet, die über einen anderen Port als den bestimmten Port unerreichbar sind. Die Benachrichtigung wird über einen oder mehrere andere Ports als den bestimmten Port an ein oder mehrere andere Netzwerkelemente übermittelt.
  • In einigen Ausführungsformen umfasst das Feststellen, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist, das Feststellen, dass der bestimmte Port mit der fehlerhaften Verbindung verbunden ist, als Reaktion auf den Empfang eines Pakets, das an den bestimmten Port weitergeleitet werden soll. In anderen Ausführungsformen umfasst die Feststellung, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist, die Feststellung, dass der bestimmte Port mit der fehlerhaften Verbindung verbunden ist, unabhängig vom Empfang eines Pakets zur Weiterleitung an den bestimmten Port. In wieder anderen Ausführungsformen sind die Adressgruppen mit jeweils eindeutigen Adressgruppenkennungen verbunden, und wobei das Erzeugen der Benachrichtigung das Melden der Adressgruppenkennungen der bestimmten Adressgruppen in der Benachrichtigung umfasst.
  • In einer Ausführungsform umfasst das Verfahren ferner das (Vor)Halten einer Abbildung, die jeden Port des Netzwerkelements auf jeweilige Adressgruppen abbildet, die über den Port erreichbar sind, und wobei die Bestimmung der einen oder mehreren Adressgruppen die Abbildung des bestimmten Ports auf jeweilige Adressgruppen unter Verwendung der Abbildung umfasst. In einer anderen Ausführungsform umfasst das Verfahren ferner, dass nach dem Übertragen der Benachrichtigung, die eine bestimmte Adressgruppe meldet, das Übertragen einer weiteren Benachrichtigung, die die bestimmte Adressgruppe meldet, unterlassen wird.
  • Gemäß einer hierin beschriebenen Ausführungsform wird zusätzlich ein Netzwerkelement bereitgestellt, das eine Verarbeitungsschaltung und mehrere Ports umfasst. Die mehreren Ports sind so konfiguriert, dass sie über Verbindungen mit einem Kommunikationsnetzwerk verbunden werden können. Die Verarbeitungsschaltung ist so konfiguriert, dass er Pakete über die Ports empfängt und die empfangenen Pakete über die Ports an entsprechende Zieladressen weiterleitet. Die Zieladressen sind in Adressgruppen organisiert, wobei jede Adressgruppe mehrere Zieladressen von Endknoten enthält, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind. Die Verarbeitungsschaltung ist ferner so konfiguriert, dass sie über einen bestimmten Port eine Benachrichtigung empfängt, die eine oder mehrere Adressgruppen meldet, die über den bestimmten Port aufgrund eines Verbindungsausfalls in einem anderen Netzwerkelement unerreichbar geworden sind, und dass sie bei der Bestimmung einer oder mehrerer Adressgruppen in der empfangenen Benachrichtigung, die über einen beliebigen Port des Netzwerkelements unerreichbar sind, eine Ausgangsbenachrichtigung sendet, die die bestimmten Adressgruppen über einen oder mehrere andere Ports als den bestimmten Port meldet.
  • In einigen Ausführungsformen ist die Verarbeitungsschaltung so konfiguriert, dass sie bei der Feststellung, dass eine bestimmte Adressgruppe in der Benachrichtigung über einen alternativen Pfad erreichbar ist, darauf verzichtet, die bestimmte Adressgruppe in die Ausgangsbenachrichtigung aufzunehmen, und nachfolgende empfangene Pakete, die an die bestimmte Adressgruppe adressiert sind, über den alternativen Pfad weiterleitet. In anderen Ausführungsformen ist die Verarbeitungsschaltung so konfiguriert, dass sie als Reaktion auf die Benachrichtigung die Weiterleitung von Paketen unterlässt, die an die bestimmten Adressgruppen über den bestimmten Port zuzustellen sind. In wieder anderen Ausführungsformen ist die Verarbeitungsschaltung so konfiguriert, dass sie eine erste Benachrichtigung, gefolgt von einer zweiten Benachrichtigung, empfängt, wobei sowohl die erste als auch die zweite Benachrichtigung eine bestimmte Adressgruppe melden, die über den ersten bzw. zweiten Port unerreichbar geworden ist, und dass sie als Reaktion auf die erste Benachrichtigung eine Ausgangsbenachrichtigung sendet, die die bestimmte Adressgruppe über den zweiten Port meldet, bevor sie die zweite Benachrichtigung empfängt.
  • In einer Ausführungsform ist die Verarbeitungsschaltung so konfiguriert, dass er in der Ausgabebenachrichtigung Adressgruppen meldet, die nur über Ports mit nicht kürzesten Pfaden zu den jeweiligen Adressgruppen erreichbar sind. In einer anderen Ausführungsform ist die Verarbeitungsschaltung so konfiguriert, dass sie für eine bestimmte Adressgruppe den Ports mit den kürzesten Pfaden zu der bestimmten Adressgruppe eine hohe Priorität und den Ports mit den nicht kürzesten Pfaden zu der bestimmten Adressgruppe eine niedrige Priorität zuweist und als Reaktion auf den Empfang einer Benachrichtigung, die die bestimmte Adressgruppe enthält, eine Ausgangsbenachrichtigung sendet, die die bestimmte Adressgruppe nur über Ports meldet, denen für die bestimmte Adressgruppe eine niedrige Priorität zugewiesen ist.
  • In einer weiteren Ausführungsform umfasst das Kommunikationsnetzwerk eine Topologie, die aus einer Liste von Topologien ausgewählt wird, darunter eine Fat-Tree-Topologie, eine Clos-Topologie, eine DragonFly Plus-Topologie und eine Xpander-Topologie.
  • Gemäß einer hierin beschriebenen Ausführungsform wird zusätzlich ein Verfahren bereitgestellt, das in einem Netzwerkelement, das mehrere Ports zur Verbindung über Verbindungen mit einem Kommunikationsnetzwerk enthält, den Empfang von Paketen über die Ports und die Weiterleitung der empfangenen Pakete an entsprechende Zieladressen über die Ports umfasst. Die Zieladressen sind in Adressgruppen organisiert, wobei jede Adressgruppe mehrere Zieladressen von Endknoten enthält, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind. Eine Benachrichtigung wird über einen bestimmten Port empfangen, wobei die Benachrichtigung eine oder mehrere Adressgruppen meldet, die aufgrund eines Verbindungsausfalls in einem anderen Netzwerkelement über den bestimmten Port unerreichbar wurden. Nach der Ermittlung einer oder mehrerer Adressgruppen in der empfangenen Benachrichtigung, die über einen beliebigen Port des Netzwerkelements nicht erreichbar sind, wird eine Ausgangsbenachrichtigung über die ermittelten Adressgruppen über einen oder mehrere andere Ports als den bestimmten Port übertragen.
  • In einigen Ausführungsformen umfasst das Verfahren ferner, dass bei der Feststellung, dass eine bestimmte Adressgruppe in der Benachrichtigung über einen alternativen Pfad erreichbar ist, darauf verzichtet wird, die bestimmte Adressgruppe in die Ausgangsbenachrichtigung aufzunehmen, und nachfolgende empfangene Pakete, die an die bestimmte Adressgruppe gerichtet sind, über den alternativen Pfad weitergeleitet werden. In anderen Ausführungsformen umfasst das Verfahren ferner als Reaktion auf die Benachrichtigung das Unterlassen der Weiterleitung von Paketen, die an die bestimmten Adressgruppen zuzustellen sind, über den bestimmten Port. In noch anderen Ausführungsformen umfasst das Verfahren ferner den Empfang einer ersten Benachrichtigung, gefolgt von einer zweiten Benachrichtigung, wobei sowohl die erste als auch die zweite Benachrichtigung eine bestimmte Adressgruppe melden, die über den ersten bzw. zweiten Port unerreichbar geworden ist, und in Reaktion auf die erste Benachrichtigung das Senden einer Ausgangsbenachrichtigung, die die bestimmte Adressgruppe meldet, über den zweiten Port, bevor die zweite Benachrichtigung empfangen wird.
  • In einer Ausführungsform umfasst das Verfahren ferner das Melden von Adressgruppen in der Ausgabebenachrichtigung, die nur über Ports mit nicht kürzesten Pfaden zu den jeweiligen Adressgruppen erreichbar sind. In einer anderen Ausführungsform umfasst das Verfahren ferner das Zuweisen einer hohen Priorität für eine bestimmte Adressgruppe an Ports mit kürzesten Pfaden zu der bestimmten Adressgruppe und einer niedrigen Priorität an Ports mit nicht kürzesten Pfaden zu der bestimmten Adressgruppe, und als Reaktion auf den Empfang einer Benachrichtigung, die die bestimmte Adressgruppe enthält, das Senden einer Ausgangsbenachrichtigung, die die bestimmte Adressgruppe nur über Ports meldet, denen eine niedrige Priorität für die bestimmte Adressgruppe zugewiesen ist.
  • In einer weiteren Ausführungsform enthält das Kommunikationsnetzwerk eine Topologie, die aus einer Liste von Topologien ausgewählt ist, die Folgendes umfasst: eine Fat-Tree-Topologie, eine Clos-Topologie, eine DragonFly Plus-Topologie und eine Xpander-Topologie.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen angewandt werden, und zwar in jeder geeigneten Kombination. Insbesondere kann jedes Merkmal eines Verfahrensaspekts oder einer -ausführungsform auf einen Geräteaspekt oder eine -ausführungsform angewandt werden und umgekehrt.
  • Diese und andere Ausführungsformen werden aus der folgenden detaillierten Beschreibung der Ausführungsformen in Verbindung mit den Zeichnungen, in denen sie dargestellt sind, besser verstanden werden:
  • Figurenliste
    • 1 ist ein Blockdiagramm, das schematisch ein Computernetzwerk zeigt, das die benachrichtigungsbasierte Wiederherstellung nach einem Verbindungsausfall unterstützt, in Übereinstimmung mit einer hier beschriebenen Ausführungsform;
    • 2 ist ein Blockdiagramm, das schematisch ein Netzwerkelement darstellt, das in einem Netzwerk des Computernetzwerks von 1 gemäß einer hier beschriebenen Ausführungsform verwendet werden kann;
    • 3 ist ein Flussdiagramm, das schematisch ein Verfahren zur Benachrichtigung benachbarter Netzwerkelemente über Adressgruppen darstellt, die aufgrund eines Verbindungsausfalls unerreichbar geworden sind, in Übereinstimmung mit einer hier beschriebenen Ausführungsform;
    • Die 4A und 4B sind Diagramme, die schematisch Verfahren zur Wiederherstellung nach einem Verbindungsausfall in einem Kommunikationsnetzwerk mit einer Fat-Tree-Topologie gemäß den hier beschriebenen Ausführungsformen veranschaulichen;
    • 5 ist ein Flussdiagramm, das schematisch ein Verfahren zur Benachrichtigung über einen Verbindungsausfall auf der Grundlage von Prioritäten, die alternativen Pfaden zugewiesen sind, gemäß einer hier beschriebenen Ausführungsform darstellt;
    • 6A, 6B und 6C sind Diagramme, die schematisch Verfahren zur Wiederherstellung nach einem Verbindungsausfall in einem Kommunikationsnetzwerk mit einer DragonFly Plus-Topologie gemäß den hier beschriebenen Ausführungsformen veranschaulichen; und
    • 7 ist ein Diagramm, das schematisch ein Verfahren zur Wiederherstellung nach einem Verbindungsausfall in einem Kommunikationsnetzwerk mit einer Xpander-Topologie gemäß einer hier beschriebenen Ausführungsform zeigt.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • ÜBERSICHT
  • Die hier beschriebenen Ausführungsformen bieten verbesserte Verfahren und Systeme zur Wiederherstellung nach einem Verbindungsausfall in einem Kommunikationsnetz.
  • Ein Kommunikationsnetzwerk besteht in der Regel aus mehreren Netzwerkelementen, die durch Verbindungen in einer bestimmten Topologie miteinander verbunden sind. Wenn eine Verbindung im Netzwerk ausfällt, wird jeder Pfad zwischen einem Paar von Netzwerkknoten, die mit dem Netzwerk verbunden sind, das die ausgefallene Verbindung enthält, „unterbrochen“. Diese Situation kann so lange andauern, bis alternative Pfade zu den Zielen eingerichtet sind.
  • Im Prinzip kann eine zentrale Einheit, die mit dem Netzwerk verbunden ist, eine fehlerhafte Verbindung erkennen oder darüber benachrichtigt werden und daraufhin eines oder mehrere der Netzwerkelemente neu konfigurieren, um alternative Pfade zu den Zielen zu schaffen. Wiederherstellungsmethoden, die sich auf eine zentrale Einheit stützen, reagieren jedoch in der Regel langsam, z. B. in der Größenordnung von Sekunden oder sogar Minuten (je nach verwendeter Wiederherstellungsmethode), um einen alternativen Pfad wiederherzustellen, was die Zuverlässigkeit des Netzwerkes beeinträchtigen kann.
  • In den dargestellten Ausführungsformen verfügt ein Netzwerkelement über Informationen zu einer oder mehreren Gruppen von Zieladressen, die jeweils von jedem der Ports des Netzwerkelements erreicht werden können. Wenn eine mit einem bestimmten Port verbundene Verbindung ausfällt, löst das Netzwerkelement die Übertragung von Fehlerbenachrichtigungen an benachbarte Netzwerkelemente aus, die mit anderen Ports des Netzwerkelements verbunden sind. Die Fehlerbenachrichtigungen können sich weiter an andere Netzwerkelemente im Netz ausbreiten, bis ein alternativer Pfad zu jeder Adressgruppe eingerichtet ist, die aufgrund der fehlerhaften Verbindung unerreichbar wurde. Jedes Netzwerkelement, das an diesem Protokoll teilnimmt, sendet eine Benachrichtigung für eine bestimmte Adressgruppe nur einmal, so dass die maximale Anzahl der gesendeten Fehlerbenachrichtigungen begrenzt ist.
  • Die Ausbreitung von Fehlerbenachrichtigungen wird so lange fortgesetzt, bis alle Quellknoten, die vor dem Ausfall einer bestimmten Verbindung Pfade zu den jeweiligen Zielknoten hatten, alternative Pfade zu den Zielknoten haben, die die betreffende Verbindung nach dem Ausfall überspringen.
  • In der folgenden Beschreibung wird ein Netzwerkelement, das lokal eine fehlerhafte Verbindung feststellt und daraufhin die Übertragung von Fehlerbenachrichtigungen veranlasst, als „Initiator“ bezeichnet, während ein Netzwerkelement, das eine Fehlerbenachrichtigung als Reaktion auf einen Verbindungsausfall in einem anderen Netzwerkelement empfängt, als „Empfänger“ bezeichnet wird.
  • In einigen Ausführungsformen stellt ein Netzwerkelement fest, dass ein bestimmter Port mit einer fehlerhaften Verbindung verbunden ist, wenn es ein Paket empfängt, das an den bestimmten Port weitergeleitet werden soll. Alternativ erkennt das Netzwerkelement die fehlerhafte Verbindung, z. B. durch Überwachung des Verbindungsstatus, unabhängig vom Empfang eines Pakets zur Weiterleitung an den bestimmten Port.
  • In der folgenden Beschreibung bedeutet die Formulierung „Pakete an eine Adressgruppe senden“ (oder eine ähnliche Formulierung), dass die Pakete an Netzwerkknoten gesendet werden, deren Zieladressen zu dieser Adressgruppe gehören.
  • Adressgruppen können auf verschiedene Weise identifiziert werden. In einigen Ausführungsformen sind die Adressgruppen jeweils eindeutigen Adressgruppenkennungen mit kompakter Darstellung zugeordnet, und das Netzwerkelement meldet in der Benachrichtigung die Adressgruppenkennungen der betreffenden Adressgruppen.
  • Wenn eine Verbindung an einem bestimmten Port ausfällt, muss das Netzwerkelement wissen, welche Adressgruppen durch den Ausfall unerreichbar wurden. Zu diesem Zweck verfügt das Netzwerkelement in einigen Ausführungsformen über eine Abbildung (ein Mapping), das jeden Port des Netzwerkelements den jeweiligen Adressgruppen zuordnet, die normalerweise über den Port erreichbar sind. In solchen Ausführungsformen bestimmt das Netzwerkelement die Adressgruppen, die (aufgrund der fehlerhaften Verbindung) unerreichbar geworden sind, indem es den bestimmten Port mithilfe der Abbildung (dem Mapping) den jeweiligen Adressgruppen zuordnet.
  • Die Behebung eines Verbindungsausfalls durch Weitergabe von Fehlerbenachrichtigungen kann zu einer „Überflutung“ des Netzwerks führen. Um dies zu verhindern, unterlässt das Netzwerkelement in einigen Ausführungsformen nach der Übermittlung einer Benachrichtigung, die eine bestimmte Adressgruppe betrifft, die Übermittlung einer weiteren Benachrichtigung, die dieselbe Adressgruppe betrifft.
  • In einer Ausführungsform fungiert das Netzwerkelement als Empfänger, der eine Fehlerbenachrichtigung über einen bestimmten Port empfängt. Wenn das Netzwerkelement feststellt, dass eine bestimmte Adressgruppe in der Benachrichtigung über einen alternativen Pfad (über einen anderen Port) erreichbar ist, verzichtet es darauf, die bestimmte Adressgruppe in eine Ausgangsbenachrichtigung aufzunehmen, und leitet nachfolgende empfangene Pakete, die an die bestimmte Adressgruppe gerichtet sind, über den alternativen Pfad weiter. Das Netzwerkelement unterlässt auch die Weiterleitung von Paketen, die an die ermittelten Adressgruppen adressiert sind, über den bestimmten Port, der mit der fehlerhaften Verbindung verbunden ist.
  • In einigen Ausführungsformen empfängt das Netzwerkelement mehrere Benachrichtigungen, die alle eine gemeinsame Adressgruppe melden. Beispielsweise erhält das Netzwerkelement eine erste und eine zweite Benachrichtigung, die beide eine bestimmte Adressgruppe melden, die über den ersten bzw. zweiten Port unerreichbar wurde. Nehmen wir an, dass das Netzwerkelement die erste Benachrichtigung vor der zweiten Benachrichtigung empfängt. In diesem Fall sendet das Netzwerkelement als Reaktion auf den Empfang der ersten Benachrichtigung eine Ausgangsbenachrichtigung über die bestimmte Adressgruppe über den zweiten Port, bevor es die zweite Benachrichtigung erhält.
  • In einigen Ausführungsformen können bei einem Ansatz, der hier als „kürzester Pfad“ bezeichnet wird, nur kürzeste Pfade als alternative Pfade dienen. In solchen Fällen meldet das Netzwerkelement in der Ausgabebenachrichtigung nur Adressgruppen, die über Ports mit nicht kürzesten Pfaden zu den jeweiligen Adressgruppen erreichbar sind.
  • In einigen Ausführungsformen weist das Netzwerkelement in einem Ansatz, der hier als „prioritätsbasierter“ Ansatz bezeichnet wird, für eine bestimmte Adressgruppe den Ports mit den kürzesten Pfaden zu der bestimmten Adressgruppe eine hohe Priorität zu und den Ports mit nicht kürzesten Pfaden zu der bestimmten Adressgruppe eine niedrige Priorität. Als Reaktion auf den Empfang einer Benachrichtigung, die die bestimmte Adressgruppe einschließt, sendet das Netzwerkelement eine Ausgangsbenachrichtigung über die bestimmte Adressgruppe, und zwar nur über Ports, denen eine niedrige Priorität für die bestimmte Adressgruppe zugewiesen ist. Es ist zu beachten, dass einige Pfade, die beim Ansatz des kürzesten Pfades eliminiert werden, beim prioritätsbasierten Ansatz erhalten bleiben.
  • Die offengelegten Ausführungsformen sind auf verschiedene Topologien anwendbar, wie z. B., aber nicht beschränkt auf eine Fat-Tree-Topologie, eine Clos-Topologie, eine DragonFly Plus-Topologie und eine Xpander-Topologie.
  • Bei den vorgestellten Techniken benachrichtigt ein bestimmtes Netzwerkelement andere Netzwerkelemente über Adressgruppen, die aufgrund einer fehlerhaften Verbindung über das betreffende Netzwerkelement unerreichbar geworden sind. Die Verarbeitung der Benachrichtigungen in einer Auflösung von Adressgruppen anstelle der Benachrichtigung einzelner Zieladressen ist sehr effizient und erfordert nur sehr wenig Verarbeitungsleistung in den Netzwerkelementen. Außerdem wird in jedem Netzwerkelement eine relevante Adressgruppe nur einmal gemeldet, was eine Überflutung mit Benachrichtigungen verhindert. Die Verfahren, die bei der Ausbreitung von Fehlerbenachrichtigungen über die Netzwerkelemente der Topologie zum Einsatz kommen, können als ein Benachrichtigungsprotokoll betrachtet werden. Dieses Protokoll konvergiert zu einem Zustand, in dem alle Quellknoten alternative Pfade zu ihren Zielknoten haben, wobei die fehlerhafte Verbindung übersprungen wird. Die Konvergenzzeit des Protokolls ist sehr viel schneller als die Wiederherstellung nach einem Verbindungsausfall durch eine zentrale Einheit.
  • BESCHREIBUNG DES SYSTEMS
  • 1 ist ein Blockdiagramm, das schematisch ein Computernetzwerk 20 zeigt, das die benachrichtigungsbasierte Wiederherstellung nach einem Verbindungsausfall unterstützt, gemäß einer hier beschriebenen Ausführungsform.
  • Im Computernetz 20 kommunizieren die Netzwerkknoten 24 über ein Kommunikationsnetzwerk 30 miteinander. Das Kommunikationsnetzwerk 30 kann ein beliebiges geeignetes Kommunikationsnetzwerk mit einer beliebigen Topologie umfassen, das mit beliebigen Protokollen arbeitet. Das Kommunikationsnetzwerk 30 kann beispielsweise ein Ethernet-Netzwerk oder eine InfiniBand-Verbindung umfassen.
  • Das Computernetzwerk 20 kann in verschiedenen Anwendungen eingesetzt werden, z. B. in Cloud-Anwendungen, in KI-Anwendungen und in einer HPC-Umgebung (High-Performance Computing).
  • Im vorliegenden Beispiel fungieren die mit S1 und S2 bezeichneten Netzwerkknoten 24 als Quellknoten, während die mit D1...D4 bezeichneten Netzwerkknoten 24 als Zielknoten fungieren. In dieser Konfiguration kann jeder der Quellknoten S1 und S2 Daten an jeden der Zielknoten D1...D4 senden. In einer praktischen Anwendung umfasst das Computernetz 20 typischerweise Tausende von Netzwerkknoten 24, von denen jeder sowohl als Quellknoten als auch als Zielknoten dient.
  • Das Kommunikationsnetzwerk 30 umfasst mehrere Netzwerkelemente 34, die untereinander und mit den Netzwerkknoten 24 über Verbindungen 38 verbunden sind. Die Netzwerkelemente 34 können jeden geeigneten Typ von Netzwerkelementen umfassen, die Pakete im Kommunikationsnetzwerk 30 weiterleiten, wie z. B. einen Netzwerk-Switch oder einen Router. Im Beispiel von 1 umfassen die Netzwerkelemente 34 Netzwerk-Switches mit der Bezeichnung SW1...SW6.
  • In 1 kommunizieren die Quellknoten S1 und S2 mit den Zielknoten D1 und D2 über einen Pfad im Kommunikationsnetz, der die Schalter SW3, SW2, SW1, SW4 und SW5 umfasst. Analog dazu kommunizieren die Quellknoten S1 und S2 mit den Zielknoten D3 und D4 über einen Pfad, der die Schalter SW3, SW2, SW1, SW4 und SW6 umfasst. Man beachte, dass das Netzwerk neben dem Pfadsegment von SW2 nach SW4 über S1 ein alternatives Pfadsegment 42 von SW2 nach SW4 hat, das SW1 überspringt. Das alternative Pfadsegment 42 ist in der Figur als gestrichelte Linie dargestellt und kann eine direkte Verbindung 38 oder ein oder mehrere Netzwerkelemente 34 umfassen, die durch Verbindungen 38 miteinander verbunden sind.
  • Eine zentrale Einheit 44 ist mit dem Kommunikationsnetzwerk 30 verbunden. Bei der zentralen Einheit 44 kann es sich beispielsweise um einen Subnet Manager (SM) oder einen anderen geeigneten Computer oder Server handeln, der für die Verwaltung des Kommunikationsnetzes 30 verwendet wird. Neben anderen Aufgaben konfiguriert die zentrale Einheit 44 die Netzwerkelemente 34 mit Weiterleitungsinformationen, die die Weiterleitungsregeln für eingehende Pakete festlegen. In einigen Ausführungsformen erkennt die zentrale Einheit 44 eine fehlerhafte Verbindung 38 im Kommunikationsnetzwerk 30 oder wird darüber informiert. Als Reaktion auf die fehlerhafte Verbindung rekonfiguriert die zentrale Einheit 44 ein oder mehrere Netzwerkelemente 34, um einen alternativen Pfad zum Ziel einzurichten. Die Wiederherstellung nach einem Verbindungsausfall durch die zentrale Einheit ist jedoch in der Regel langsam (z. B. in der Größenordnung von Sekunden oder sogar Minuten, je nach dem verwendeten zugrunde liegenden Protokoll), was die Zuverlässigkeit des Netzwerks beeinträchtigt.
  • In den beschriebenen Ausführungsformen sendet ein Netzwerkelement, das mit einer fehlerhaften Verbindung verbunden ist, eine Benachrichtigung an seine Nachbarn, in der eine oder mehrere Gruppen von Zieladressen angegeben sind, die über das betreffende Netzwerkelement unerreichbar geworden sind. Ein benachbartes Netzwerkelement, das die Benachrichtigung erhält, beginnt mit der Nutzung eines alternativen Pfads zum Ziel, sofern verfügbar, oder gibt eine weitere Benachrichtigung an seine Nachbarn weiter.
  • In den vorgestellten Ausführungsformen sind die Zieladressen der Endknoten in Gruppen angeordnet. Wie weiter unten beschrieben wird, wird ein Verbindungsausfall in Form von Adressgruppen und nicht in Form von einzelnen Zieladressen gemeldet, was den Meldemechanismus sehr effizient macht. Im vorliegenden Kontext und in den Ansprüchen umfasst eine „Adressgruppe“ (AG) mehrere Zieladressen von Endknoten, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind.
  • In einigen Ausführungsformen sind die Adressgruppen mit entsprechenden Adressgruppenkennungen verbunden. Im Allgemeinen können die Kennungen von Adressgruppen von der Struktur der zugrunde liegenden Topologie abgeleitet werden. Beispielsweise kann in einer Fat-Tree-Topologie eine Adressgruppe allen Servern zugeordnet sein, die mit einem Top of a Rack (ToR)-Switch verbunden sind, oder sogar allen Servern, die mit einem Pod in der Topologie verbunden sind. Im Beispiel von 1 wird eine Adressgruppe, die die Zieladressen der Netzwerkknoten D1 und D2 umfasst, als AG1 bezeichnet, und eine Adressgruppe, die die Zieladressen der Netzwerkknoten D3 und D4 umfasst, als AG2.
  • Nehmen wir an, dass die Verbindung 38A zwischen SW1 und SW4 ausfällt. Folglich kann SW1 keine Pakete mehr an die Netzwerkknoten senden, deren Zieladressen zu AG1 oder AG2 gehören. Als Reaktion auf die Feststellung des Verbindungsausfalls blockiert SW1 die Weiterleitung von an AG1 und AG2 adressierten Paketen über den mit Verbindung 38A verbundenen Port, z. B. durch Aktualisierung seiner Weiterleitungstabelle. Darüber hinaus sendet SW1 eine Benachrichtigung 46 über AG1 und AG2 an alle benachbarten Netzwerkelemente außer SW4. Die Benachrichtigung wird als FRN(AG1, AG2) bezeichnet - eine Benachrichtigung über einer fehlerhafte Weiterleitung (Engl. Fault Routing Notification, kurz FRN), die die Adressgruppen AG1 und AG2 meldet.
  • Im vorliegenden Beispiel beginnt SW2 als Reaktion auf den Erhalt der Benachrichtigung 46 mit der Weiterleitung der an AG1 und AG2 adressierten Pakete über den alternativen Segmentpfad 42 statt über SW1. Da SW2 über einen alternativen Pfad zu AG1 und AG2 verfügt, braucht SW2 keine weiteren Benachrichtigungen weiterzuleiten.
  • 2 ist ein Blockdiagramm, das schematisch das Netzwerkelement 34 darstellt, das in einem Netzwerk des Computernetzwerks 20 von 1 gemäß einer hier beschriebenen Ausführungsform verwendet werden kann.
  • Das Netzwerkelement 34 umfasst mehrere Ports 60, die so konfiguriert sind, dass sie über Verbindungen 38 mit dem Kommunikationsnetzwerk 30 verbunden werden können. Insbesondere kann das Netzwerkelement 34 je nach seiner Position in der unterstrichenen Topologie mit anderen Netzwerkelementen 34, mit Netzwerkknoten 24, mit der zentralen Einheit 44 und/oder mit jedem anderen Element des Kommunikationsnetzes verbunden werden.
  • Das Netzwerkelement 34 umfasst einen Speicher 64 (kurz MEM für Engl. Memory) und eine Verarbeitungslogik 68. Der Speicher 64 speichert Warteschlangen von empfangenen Paketen und typischerweise auch andere Daten. Die Verarbeitungslogik 68 verarbeitet eingehende Pakete und leitet sie weiter, z. B. unter Verwendung einer Weiterleitungstabelle (Engl. Forward für Weiterleitung, kurz FWD Tabelle) 72. Die Weiterleitungstabelle übersetzt zwischen Zieladressen und entsprechenden Ausgangsports des Netzwerkelements. In einigen Ausführungsformen ordnet die Weiterleitungstabelle eine Zieladresse, die z. B. in einem Header eines ankommenden Pakets steht, einem Port 60 zu, der einen Pfad zu dieser Zieladresse im Kommunikationsnetzwerk hat. In einigen Ausführungsformen hat das Netzwerkelement 34 für ein bestimmtes Paket mehrere Pfade über mehrere entsprechende Ports zur gleichen Zieladresse. In solchen Ausführungsformen bestimmt die Verarbeitungslogik 68, welcher der verfügbaren Pfade für jedes Paket zu verwenden ist, z. B. auf der Grundlage eines Flusses, zu dem das Paket gehört.
  • Das Netzwerkelement 34 umfasst einen Switch Controller (Schaltsteuerung) 76, der die verschiedenen Verwaltungsaufgaben und einige der Paketverarbeitungsfunktionen des Netzwerkelements 34 durchführt. Beispielsweise konfiguriert der Switch Controller 76 die Weiterleitungstabelle 72, um den gewünschten Routingplan anzuwenden. Durch die Steuerung des Routing-Plans kann das Netzwerkelement 34 die Pakete veranlassen, verschiedene Pfade durch das Kommunikationsnetzwerk 30 zu durchlaufen.
  • In einigen Ausführungsformen überwacht die Verarbeitungslogik 68 die Verbindungszustände der Verbindungen 38. Als Reaktion auf die Feststellung, dass eine mit einem bestimmten Port verbundene Verbindung ausgefallen ist, erzeugt die Verarbeitungslogik 68 eine Benachrichtigung (z. B. eine FRN), die Adressgruppen (AGs) meldet, die über den bestimmten Port aufgrund des Verbindungsausfalls nicht mehr erreichbar sind. Eine AG-Abbildung (auch AG-Mapping oder AG-Zuordnung) 84 stellt eine Abbildung oder Zuordnung zwischen Ports und AGs her, die über die Ports erreichbar sind, wenn alle Verbindungen in Betrieb sind. In einigen Ausführungsformen ordnet die Verarbeitungslogik 68 den Port der fehlerhaften Verbindung mithilfe der AG-Abbildung 84 den jeweiligen Adressgruppen zu und nimmt die zugeordneten AGs in die FRN auf. In einigen Ausführungsformen meldet die FRN kompakte Adressgruppenkennungen der relevanten AGs. Die Verarbeitungslogik 68 überträgt die FRN wie oben beschrieben an ihre benachbarten Netzwerkelemente.
  • In einigen Ausführungsformen empfängt ein Netzwerkelement 34 von einem anderen Netzwerkelement eine FRN, die einen oder mehrere nicht erreichbare AGs meldet. Wie weiter unten im Detail beschrieben wird, identifiziert das Netzwerkelement in der empfangenen FRN AGs, für die es keinen alternativen Pfad über einen der Ports gibt, und sendet eine FRN, die identifizierte AGs meldet, an seine benachbarten Netzwerkelemente (mit Ausnahme des Netzwerkelements, von dem die FRN empfangen wurde).
  • Die Konfigurationen des Computernetzwerks 20 in 1 und des Netzwerkelements 34 in 2 sind Beispielkonfigurationen, die nur aus Gründen der konzeptionellen Klarheit gewählt wurden. In alternativen Ausführungsformen können auch andere geeignete Computernetz- und Netzwerkelementkonfigurationen verwendet werden. Die verschiedenen Elemente des Netzwerkelements 34 können in Hardware implementiert werden, z. B. unter Verwendung eines oder mehrerer anwendungsspezifischer integrierter Schaltkreise (ASICs) oder feldprogrammierbarer Gate-Arrays (FPGAs). In alternativen Ausführungsformen können einige Elemente des Netzwerkelements 34, z. B. die Verarbeitungslogik 68 und/oder der Switch Controller 76, in Software implementiert sein, die auf einem geeigneten Prozessor ausgeführt wird, oder eine Kombination aus Hardware- und Softwareelementen verwenden.
  • Der Speicher 64 kann jedes geeignete Speichergerät mit jeder geeigneten Speichertechnologie umfassen. So kann der Speicher 64 beispielsweise ein Random-Access Memory (RAM) oder ein nichtflüchtiger Speicher wie ein Flash-Speicher sein.
  • Elemente, die für das Verständnis der Prinzipien der vorliegenden Anwendung nicht notwendig sind, wie verschiedene Schnittstellen, Adressierungsschaltungen, Zeit- und Ablaufsteuerungsschaltungen und Fehlerbeseitigungsschaltungen, wurden aus Gründen der Übersichtlichkeit in den 1 und 2 weggelassen.
  • In einigen Ausführungsformen können die Verarbeitungslogik 68 und/oder der Switch Controller 76 Mehrzweckprozessoren umfassen, die in Software programmiert sind, um die hier beschriebenen Netzmanager- und/oder Schaltfunktionen auszuführen. Die Software kann in elektronischer Form, z. B. über ein Netzwerk, auf die Prozessoren heruntergeladen werden, oder sie kann alternativ oder zusätzlich auf nicht-übertragbaren, greifbaren Medien, wie z. B. einem magnetischen, optischen oder elektronischen Speicher, bereitgestellt und/oder gespeichert werden.
  • Im vorliegenden Zusammenhang und in den Ansprüchen werden die Elemente des Netzwerkelements mit Ausnahme der Ports 60 zusammenfassend als „Verarbeitungsschaltung“ 86 bezeichnet. Im Beispiel des Netzwerkelements von 2 umfasst die Verarbeitungsschaltung die Verarbeitungslogik 68, den Speicher 64 und den Switch Controller 76.
  • VERFAHREN ZUR WIEDERHERSTELLUNG NACH EINEM VERBINDUNGSAUSFALL UNTER VERWENDUNG VON FEHLERWEITERLEITUNGSBENACHRICHTIGUNGEN
  • 3 ist ein Flussdiagramm, das schematisch ein Verfahren zur Benachrichtigung benachbarter Netzwerkelemente über Adressgruppen darstellt, die aufgrund eines Verbindungsausfalls unerreichbar geworden sind, in Übereinstimmung mit einer hier beschriebenen Ausführungsform.
  • Das Verfahren wird so beschrieben, wie es von der Verarbeitungslogik 68 des Netzwerkelements 34 der obigen 1 und 2 ausgeführt wird.
  • Bei der Beschreibung des Verfahrens von 3 wird davon ausgegangen, dass die AG-Abbildung 84 des Netzwerkelements so konfiguriert ist, dass sie jeden Port des Netzwerkelements jeweils einem oder mehreren Ziel-AGs zuordnet, die über diesen Port erreichbar sind. Es wird ferner angenommen, dass die Weiterleitungstabelle 72 Informationen zur Übersetzung der Zieladressen auf die jeweiligen Ausgangsports enthält. Die Weiterleitungstabelle 72 ordnet alle Zieladressen eines bestimmten AG einem gemeinsamen Port zu.
  • In einigen Ausführungsformen verwaltet das Netzwerkelement 34 eine Flagge (Engl. „flag“) bzw. ein Kennzeichen pro AG. Die Flagge ist zunächst gelöscht und wird als Reaktion auf das Senden einer FRN gesetzt, die den mit der Flagge verbundenen AG meldet. Das Netzwerkelement sendet keine FRN für eine AG, solange die entsprechende Flagge gesetzt ist. Dieser Mechanismus ist wichtig, um die Gesamtzahl der gesendeten FRNs zu begrenzen, bis alternative Pfade zu den Ziel-AGs eingerichtet sind. In alternativen Ausführungsformen können auch andere geeignete Verfahren verwendet werden, um eine FRN nur einmal pro AG in einem Netzwerkelement zu senden.
  • Das Verfahren von 3 beginnt mit der Verarbeitungslogik 68, die in einem Fehlerfeststellungsschritt 100A eine fehlerhafte Verbindung feststellt, die mit einem bestimmten Port verbunden ist, oder mit dem Empfang einer FRN von einem benachbarten Netzwerkelement über einen bestimmten Port in einem FRN-Empfangsschritt 100B. In Schritt 100A kann die Verarbeitungslogik die fehlerhafte Verbindung als Reaktion auf den Empfang eines Pakets, das über die fehlerhafte Verbindung zugestellt werden soll, oder unabhängig vom Empfang eines Pakets erkennen. Das Netzwerkelement, das Schritt 100A oder 100B ausführt, wird auch als „Initiator“ bzw. „Empfänger“ bezeichnet.
  • In einem Flagge-Prüfschritt 104 prüft die Verarbeitungslogik, ob die Flagge von mindestens einem AG unter den AGs, die aufgrund der fehlerhaften Verbindung unerreichbar wurden (in Schritt 100A), oder unter den AGs, die in der empfangenen FRN gemeldet wurden (in Schritt 100B), gelöscht ist. Wenn alle relevanten Flaggen gesetzt sind, geht die Verarbeitungslogik zu einem Beendigungsschritt 106 über, und das Verfahren wird beendet. Andernfalls gibt es einen oder mehrere AGs, die noch nicht vom Netzwerkelement in einer FRN gemeldet wurden, und die Verarbeitungslogik fährt mit einem AGs-Identifizierschritt 108 fort. In Schritt 108 stellt die Verarbeitungslogik 68 die AGs fest, die über den bestimmten Port unerreichbar geworden sind, und dass ihre entsprechenden Flaggen gelöscht werden. In einigen Ausführungsformen identifiziert die Verarbeitungslogik die AGs in Schritt 108 durch Abbildung einer Kennung des bestimmten Portes zu einer oder mehreren AG-Kennungen der nicht erreichbaren AGs unter Verwendung der AG-Abbildung 84.
  • In einem Tabellenaktualisierungsschritt 112 aktualisiert die Verarbeitungslogik die Weiterleitungstabelle 72, indem sie aus der Weiterleitungstabelle Informationen ausschließt, die zur Weiterleitung von Paketen an den bestimmten Port verwendet werden. Dies bedeutet, dass der gesamte Verkehr (Engl. „Traffic“), der normalerweise über den bestimmten Port zu den entsprechenden AGs fließt, nun blockiert ist.
  • In einem Alternativpfad-Abfrageschritt 116 prüft die Verarbeitungslogik, ob das Netzwerkelement einen Alternativpfad hat, um die Zieladressen von AGi zu erreichen, wobei AGi den ith AG unter den in Schritt 108 identifizierten AGs bezeichnet. Wenn das Netzwerkelement in Schritt 116 keinen alternativen Pfad hat, nimmt die Verarbeitungslogik AGi in eine Ausgangs-FRN auf und setzt in einem Benachrichtigungsschritt 120 die Flagge von AGi. Nach Schritt 116 oder 120 geht die Verarbeitungslogik zu einem Schleifenverwaltungsschritt 124 über, um zu prüfen, ob alle in Schritt 108 identifizierten AGs verarbeitet wurden. Wenn noch AGs zu verarbeiten sind, wählt die Verarbeitungslogik in einem AG-Auswahlschritt 128 einen nachfolgenden AGi aus und kehrt in einer Schleife zu Schritt 116 zurück, um nach einem alternativen Pfad zu suchen. Andernfalls geht die Verarbeitungslogik 68 zu einem Benachrichtigungsübertragungsschritt 132 über, um die Ausgangs-FRN (falls vorhanden) zu übertragen, die durch die Schleife über Schritt 120 wie oben beschrieben erzeugt wurde. Die Verarbeitungslogik überträgt die Ausgangs-FRN in Schritt 132 über alle anderen Ports als den anbestimmten Port. Nach Schritt 132 endet das Verfahren bei Schritt 106.
  • In dem Verfahren von 3 erzeugt ein Initiator-Netzwerkelement eine erste FRN, die später von Netzwerkelementen, die als Empfänger arbeiten, weitergegeben wird. Im vorliegenden Kontext bezieht sich der Begriff „Benachrichtigungsausbreitung“ auf den Prozess, der von einem Initiator- oder einem Empfängernetzwerkelement durchgeführt wird, das eine FRN an benachbarte Netzwerkelemente sendet. Abhängig von der Verfügbarkeit alternativer Pfade kann ein empfangendes Netzwerkelement, das eine FRN empfängt, (i) keine FRN senden, wenn es einen alternativen Pfad zu jedem der in der empfangenen FRN gemeldeten AGs hat, oder (ii) eine FRN senden, die die in der empfangenen FRN gemeldeten AGs enthält, die keine alternativen Pfade haben. Ein empfangendes Netzwerkelement kann die Ausgangs-FRN durch Manipulation der empfangenen FRN oder durch Kopieren von Informationen aus der empfangenen FRN in die Ausgangs-FRN erzeugen.
  • In Schritt 116 des Verfahrens von 3 prüft die Verarbeitungslogik auf alternative Pfade. Wie weiter unten im Detail beschrieben wird, können in einigen Ausführungsformen auch zusätzliche Einschränkungen verwendet werden, z. B. die Prüfung, ob ein alternativer Pfad einen kürzesten Pfad enthält, oder die Klassifizierung alternativer Pfade auf der Grundlage vorher zugewiesener Prioritäten.
  • Die Anwendung des Verfahrens von 3 in einem Kommunikationsnetzwerk führt zu einem effizienten Benachrichtigungsprotokoll. Das Protokoll wird durch ein Netzwerkelement ausgelöst, das eine fehlerhafte Verbindung feststellt, und konvergiert, wenn alle Quellknoten alternative Pfade zu ihren Zielknoten haben, die die fehlerhafte Verbindung überspringen (wenn eine solche Konvergenz möglich ist) . Bei einer bestimmten Topologie ist die Gesamtzahl der bis zur Konvergenz des Protokolls gesendeten Fehlerbenachrichtigungen durch die Anzahl der Verbindungen in der Topologie zwischen Paaren von Netzwerkelementen nach oben begrenzt. Darüber hinaus ist die Zeit, die benötigt wird, um die Fehlerbenachrichtigungen an alle relevanten Netzwerkelemente weiterzuleiten, nach oben durch eine Zeitdauer begrenzt, die proportional zum Netzdurchmesser ist.
  • WIEDERHERSTELLUNG NACH EINEM VERBINDUNGSAUSFALL IN EINER FAT-TREE-TOPOLOGIE
  • Die 4A und 4B sind Diagramme, die schematisch Verfahren zur Wiederherstellung nach einem Verbindungsausfall in einem Kommunikationsnetzwerk 150 mit einer Fat-Tree-Topologie gemäß den hier beschriebenen Ausführungsformen veranschaulichen.
  • In den 4A und 4B sind die Netzwerkelemente 34 über Verbindungen 38 in einer dreistufigen Fat-Tree-Topologie miteinander verbunden. Im vorliegenden Beispiel bestehen die Netzwerkelemente 34 aus Netzwerkschaltern oder -verteilern (Engl. „network switches“). Die Topologie in den 4A und 4B kann auch als Spezialfall der Clos-Topologie betrachtet werden. Die untere Ebene der Topologie umfasst acht Netzwerkelemente 34 mit der Bezeichnung S11...S18, die mittlere Ebene umfasst acht Netzwerkelemente 34 mit der Bezeichnung S21...S28 und die obere Ebene umfasst vier Netzwerkelemente 34 mit der Bezeichnung S31...S34. In den 4A und 4B ist aus Gründen der Übersichtlichkeit nur ein Teil der Netzwerkelemente und Verbindungen nummeriert. Bei der Beschreibung von 4A und 4B wird davon ausgegangen, dass die Netzwerkelemente 34 Netzwerkschalter umfassen. Diese Annahme ist jedoch nicht zwingend, und es können auch andere Arten von Netzwerkelementen wie z. B. Router verwendet werden.
  • Im vorliegenden Beispiel ist jeder Schalter oder Verteiler (Engl. „switch“) in der unteren Ebene über Verbindungen 38 direkt mit den Netzwerkknoten 24 verbunden. Ein Schalter, der direkt mit den Netzwerkknoten verbunden ist, wird auch als Top of the Rack (ToR)-Switch bezeichnet. Im Beispiel von 4A und 4B ist jeder ToR-Switch mit zwei Netzwerkknoten 24 verbunden. In der Praxis ist ein ToR-Switch jedoch in der Regel mit Dutzenden von Netzwerkknoten verbunden. Die tatsächliche Anzahl der Netzwerkknoten pro ToR-Switch hängt von der Radix des Schaltrers ab (d. h. von der Gesamtzahl der Ports). ToR-Switches werden manchmal so angeschlossen, dass die Hälfte der Ports mit Netzwerkknoten verbunden ist (z. B. über Netzwerkadapter) und die andere Hälfte mit anderen Schaltern in der Topologie.
  • Den Netzwerkknoten 24 sind bereits entsprechende Zieladressen zugewiesen. In einem Teilnetz, das ein InfiniBand-Netz umfasst, wird beispielsweise jedem Netzwerkknoten eine eindeutige lokale Zieladresse (Destination Local Identifier, DLID) zugewiesen, während in einem Ethernet-Netz jeder Netzwerkknoten eine entsprechende MAC-Adresse hat.
  • Wie bereits erwähnt, sind die Zieladressen in Gruppen angeordnet, die als Adressgruppen (AGs) bezeichnet werden und von denen jede die Zieladressen von Netzwerkknoten 24 umfasst, die mit einem gemeinsamen Schalter 34 verbunden sind. Im Beispiel der 4A und 4B sind die mit den Schaltern S11...S18 verbundenen Netzwerkknoten 24 den jeweiligen AGs mit der Bezeichnung AG1...AG8 zugeordnet, wobei jede der AGs zwei Zieladressen der betreffenden Netzwerkknoten umfasst.
  • Nachfolgend werden Beispielszenarien für die Wiederherstellung nach Verbindungsausfällen unter Verwendung des in 3 beschriebenen Verfahrens beschrieben.
  • 4A bezieht sich auf ein Szenario, in dem die Verbindung zwischen dem Schalter S27 der zweiten Ebene und dem Schalter S17 der ersten Ebene ausfällt, was durch ein „X“-Symbol auf der fehlerhaften Verbindung angezeigt wird. In diesem Beispiel sind die Zielknoten d1 und d2, die mit S17 verbunden sind, über S27 nicht mehr erreichbar (aber immer noch über S28).
  • Als Reaktion auf die Erkennung der fehlerhaften Verbindung blockiert S27 in seiner Weiterleitungstabelle und leitet die Pakete an S17 weiter. S27 prüft außerdem, ob es einen alternativen Pfad zu AG7 hat. Da S27 keinen alternativen Pfad zu S17 (und damit auch keinen alternativen Pfad zu d1 und d2 in AG7) hat, sendet S27 (als Initiator) eine FRN, die AG7 meldet, an seine Nachbarn über alle Ports außer dem mit S17 verbundenen Port. S27 setzt auch die AG7 entsprechende Flagge. In diesem Beispiel teilt FRN(AG7) den Switches S31, S32 und S18 mit, dass die Zieladressen von AG7 nicht über S27 erreicht werden können.
  • Der Schalter S18 hat einen Pfad zu S17 über S28 und ignoriert daher die Benachrichtigung FRN(AG7) . Andererseits hat keiner von S31 und S32 einen alternativen Pfad zu S17. Folglich geben S31 und S32 jeweils eine FRN(AG7)-Benachrichtigung an ihre Nachbar-Schalter weiter, und zwar über alle Ports außer dem Port, über den die FRN(AG7) empfangen wurde. Im Einzelnen senden S31 und S32 jeweils eine FRN(AG7) an S21, S23 und S25. Zu beachten ist, dass S31 und S32 jeweils eine FRN(AG7) unabhängig vom anderen Schalter senden.
  • Jeder der Schalter S21, S23 und S25 empfängt eine FRN(AG7) von S31 und eine weitere FRN(AG7) von S32. Nehmen wir an, dass S21 zuerst die von S31 gesendete FRN(AG7) empfängt. Folglich stellt S21 die Weiterleitung von Paketen an S31 ein, nicht aber an S32. Bis zum Empfang einer FRN(AG7) von S32 gilt die Verbindung von S21 zu S32 weiterhin als funktionsfähig, so dass S21 keine FRNs an seine Nachbar-Schalter sendet und die Flagge von AG7 nicht setzt. Wenn S21 später eine FRN(AG7) von S32 empfängt, stellt die Vermittlungsstelle S21 fest, dass sie keinen alternativen Pfad zu AG7 hat, und stellt daher die Weiterleitung von Paketen an S32 ein, überträgt eine FRN(AG7) an S11 und S12 und setzt die Flagge von AG7. Da S11 und S12 jeweils einen Pfad zu den Zieladressen d1 und d2 von AG7 über S22, S34, S28 und S17 haben, verzichten S11 und S12 auf die weitere Weiterleitung von FRNs.
  • 4B bezieht sich auf ein Szenario, in dem die Verbindung zwischen dem Switch S31 der oberen Ebene und dem Schalter S27 der zweiten Ebene ausgefallen ist, wie durch ein „X“-Symbol angezeigt. Aufgrund der fehlerhaften Verbindung sind die Zielknoten d1, d2, die mit S17 verbunden sind, und d3, d4, die mit S18 verbunden sind, über S31 unerreichbar.
  • S31 erkennt die fehlerhafte Verbindung zu S27, aber da S31 keinen alternativen Pfad zu S27 hat (und daher keinen alternativen Pfad zu d1...d4 in AG7 und AG8), sendet S31 eine FRN, die sowohl AG7 als auch AG8 an seine Nachbarn über alle Ports außer dem Port der fehlerhaften Verbindung meldet. S31 blockiert auch die Weiterleitung von Paketen an S27 und setzt die Flaggen von AG7 und AG8. Die FRN(AG7, AG8) teilt den benachbarten Schaltern mit, dass AG7 und AG8 nicht über S31 erreicht werden können.
  • Im Beispiel von 4B sendet S31 FRN(AG7, AG8) an S21, S23 und S25. Als Antwort auf die FRN blockieren S21, S23 und S25 die Weiterleitung von Paketen an S31 über den Port, von dem die FRN empfangen wurde. S21, S23 und S25 verfügen jedoch jeweils über einen alternativen Pfad zu S27 über S32 und senden daher keine weiteren FRNs.
  • Es kann gezeigt werden, dass die Konvergenzzeit in einer Fat-Tree-Topologie mit einer Höhe „h“ (d. h+1 Ebenen) durch eine Zeitdauer proportional zu 2h nach oben begrenzt ist. Wenn der Ausfall einer Verbindung auf einer Ebene „1“ auftritt, wobei 1≤h, ist die Konvergenzzeit proportional zu (2h-2l+1).
  • KRITERIEN FÜR DIE DURCHFÜHRUNG DER FRN-AUSBREITUNG
  • In manchen Topologien wird eine bestimmte Verbindung von mehreren Pfaden gemeinsam genutzt. Dies kann z. B. in einer DragonFly Plus-Topologie der Fall sein. In diesem Fall kann ein Netzwerkelement, das eine FRN empfängt, die einen AG meldet, einen alternativen Pfad zu diesem AG über die gemeinsame Verbindung haben und daher keine FRN an seine Nachbarn senden. In einigen Ausführungsformen können alternative Pfade bei der Behandlung von FRN verschiedenen Einschränkungen unterworfen sein, wie im Folgenden näher beschrieben wird. Es werden nun zwei verschiedene Ansätze beschrieben, die als „kürzester Pfad“ und „prioritätsbasiert“ bezeichnet werden.
  • In einigen Ausführungsformen wird zur Umsetzung des Ansatzes des kürzesten Pfades der Schritt 116 in dem Verfahren von 3 dahingehend geändert, dass abgefragt wird, ob das Netzwerkelement einen alternativen Pfad hat, der ein kürzester Pfad zu AGi ist. Wenn es einen kürzesten Pfad zu AGi gibt, kann das Netzwerkelement diesen Pfad verwenden, und daher wird AGi nicht in die Ausgangs-FRN aufgenommen. Andernfalls sind alle alternativen Pfade zu AGi (falls vorhanden) nicht kürzeste Pfade, und die Verarbeitungslogik nimmt AGi in die FRN auf, die in Schritt 132 über alle anderen Ports gesendet wird. Es ist zu beachten, dass das Verfahren des kürzesten Pfades sowohl für Initiator- als auch für Empfängernetzwerkelemente anwendbar ist.
  • Bei dem prioritätsbasierten Ansatz werden den mit den AGs verbundenen Ports entsprechende Prioritäten zugewiesen. In einigen Ausführungsformen wird einem Port eine hohe Priorität zugewiesen, wenn er einen kürzesten Pfad zu einem Ziel-AG hat, und eine niedrige Priorität, wenn er einen nicht kürzesten Pfad zu dem Ziel-AG hat.
  • 5 ist ein Flussdiagramm, das schematisch ein Verfahren zur Benachrichtigung über einen Verbindungsausfall auf der Grundlage von Prioritäten, die alternativen Pfaden zugewiesen sind, gemäß einer hier beschriebenen Ausführungsform darstellt. Das Verfahren wird für ein Empfängernetzwerkelement beschrieben.
  • Es wird davon ausgegangen, dass den Ports des Netzwerkelements wie oben beschrieben hohe und niedrige Prioritäten zugewiesen sind.
  • Das Verfahren beginnt damit, dass die Verarbeitungslogik 68 in einem FRN-Empfangsschritt 200 von einem Nachbarnetz über einen bestimmten Port eine FRN(AG) empfängt, die einen AG meldet, der über den bestimmten Port unerreichbar geworden ist. In diesem Beispiel meldet die FRN einen einzelnen AG. In alternativen Ausführungsformen kann der FRN mehrere AGs melden, die sich einen alternativen Pfad teilen.
  • In einem Flagge-Prüfschritt 204 prüft die Verarbeitungslogik, ob die mit der gemeldeten AG verknüpfte Flagge bereits gesetzt ist, und fährt in diesem Fall mit einem Beendigungsschritt 206 fort, in dem das Verfahren beendet wird. Andernfalls wird die Flagge von AG gelöscht, und die Verarbeitungslogik fährt mit einem Schritt 208 zur Abfrage alternativer Pfade fort.
  • In Schritt 208 prüft die Verarbeitungslogik, ob das Netzwerkelement über einen alternativen Pfad zum gemeldeten AG verfügt, und wenn nicht, setzt sie in Schritt 212 die dem gemeldeten AG zugeordnete Flagge. In einem Schritt 216 zur Auswahl aller Ports wählt die Verarbeitungslogik alle anderen Ports als den bestimmten Port aus, und in einem Übertragungsschritt 220 überträgt die Verarbeitungslogik die FRN(AG) über die ausgewählten Ports. Nach Schritt 220 endet das Verfahren bei Schritt 206.
  • Wenn das Netzwerkelement in Schritt 208 über einen alternativen Pfad zum gemeldeten AG verfügt, fährt die Verarbeitungslogik mit einem Prioritätsprüfungsschritt 224 fort. In Schritt 224 prüft die Verarbeitungslogik, ob die Priorität des alternativen Pfads von Schritt 208 niedriger ist als die Priorität des Pfads über die fehlerhafte Verbindung. Wenn der alternative Pfad eine höhere oder gleiche Priorität im Vergleich zur Priorität des Pfades über die fehlerhafte Verbindung hat, beginnt die Verarbeitungslogik mit der Verwendung dieses alternativen Pfades und fährt mit dem Beendigungsschritt 206 fort. Andernfalls wählt die Verarbeitungslogik in einem Auswahlschritt 228 die Ports aus, die mit Pfaden verbunden sind, die eine niedrigere Priorität haben als der Pfad über die fehlerhafte Verbindung, und überträgt in Schritt 220 die FRN(AG) über die ausgewählten Ports. Nach Schritt 220 endet das Verfahren bei Schritt 206.
  • Wie weiter unten beschrieben wird, bleiben beim prioritätsbasierten Ansatz einige Pfade erhalten, die beim Ansatz des kürzesten Pfades eliminiert werden.
  • Obwohl das Verfahren von 1 für ein Empfängernetzwerkelement beschrieben wird, gilt es in ähnlicher Weise für ein Initiator-Netzwerkelement. In diesem Fall wird Schritt 200 durch einen alternativen Schritt ersetzt (z. B. 200', nicht dargestellt), bei dem der Initiator feststellt, dass ein bestimmter, mit einem AG verbundener Port ausgefallen ist.
  • WIEDERHERSTELLUNG NACH EINEM VERBINDUNGSAUSFALL IN EINER DRAGONFLY PLUS-TOPOLOGIE
  • In diesem Abschnitt werden der kürzeste Pfad und die prioritätsbasierten Ansätze auf eine DragonFly Plus-Topologie angewendet.
  • Die 6A, 6B und 6C sind Diagramme, die schematisch Verfahren zur Wiederherstellung nach einem Verbindungsausfall in einem Kommunikationsnetzwerk 300 mit einer DragonFly Plus-Topologie gemäß den hier beschriebenen Ausführungsformen veranschaulichen. Die Dragonfly-Plus-Topologie (DF+) wird zum Beispiel in „Dragonfly+“ beschrieben: Low Cost Topology for Scaling Datacenters,“ Conference: HiPINEB 2017 The 3rd IEEE International Workshop on High-Performance Interconnection Networks in the Exascale and Big-Data Era, in Austin, TX, USA, Februar 2017.
  • In den Beispielen der 6A, 6B und 6C umfasst die DragonFly Plus-Topologie vier Gruppen 304 mit den Bezeichnungen G1...G4, von denen jede Leaf-Netzwerkelemente mit den Bezeichnungen Li1 und Li2 und Spine-Netzwerkelemente mit den Bezeichnungen Si1 und Si2 umfasst, wobei „i“ die ith Gruppe Gi bezeichnet. Die Netzwerkelemente 34 innerhalb der Gruppen und zwischen den verschiedenen Gruppen sind durch Verbindungen 308 verbunden. In den 6A, 6B und 6C ist der Übersichtlichkeit halber nur ein Teil der Verbindungen mit 308 nummeriert.
  • In der folgenden Beschreibung werden Leaf- und Spine-Netzwerkelemente der Kürze halber auch einfach als „Leafs“ und „Spines“ bezeichnet. In praktischen Anwendungen kann eine DragonFly Plus-Topologie eine beliebige Anzahl von Gruppen umfassen, von denen jede eine beliebige Anzahl von Spines und Leafs enthält.
  • Im vorliegenden Beispiel sind die Spines und Leafs innerhalb jeder der Gruppen G1...G4 in einer vollständig verbundenen bipartiten Topologie miteinander verbunden, d. h. jeder Spine ist mit allen Leafs und jedes Leaf mit allen Spines der Gruppe verbunden. Eine bipartite Topologie kann auch als eine 2-stufige Fat-Tree (FT) Topologie betrachtet werden. Die Netzwerkknoten 312 sind nur mit den Leafs verbunden. In alternativen Topologien kann ein Spine mit einer Teilmenge der Leafs in dieser Gruppe verbunden sein und/oder ein Leaf mit einer Teilmenge der Spines.
  • In der DragonFly Plus-Topologie sind die Gruppen über Spines miteinander verbunden. Genauer gesagt, jeder Spine in einer bestimmten Gruppe ist mit einem Spine in jeder der anderen Gruppen verbunden. Zum Beispiel verbindet sich der Spine S11 in G1 mit S21 in G2, mit S31 in G3 und mit S41 in G4.
  • Im vorliegenden Beispiel ist jedes Leaf mit zwei Netzwerkknoten verbunden, die zu einer gemeinsamen AG gehören. Zum Beispiel verbindet das Leaf L11 in der Gruppe G1 mit Netzwerkknoten, deren Zieladressen zu einer Adressgruppe mit der Bezeichnung AG1 gehören, und das Leaf L12 verbindet mit Netzwerkknoten, deren Zieladressen zu einer Adressgruppe mit der Bezeichnung AG2 gehören.
  • Als nächstes werden Szenarien von Verbindungsausfällen in der DragonFly Plus-Topologie beschrieben, die mit dem Ansatz des kürzesten Pfades wiederhergestellt werden können, z. B. mit dem Verfahren von 3, wobei Schritt 116 wie oben beschrieben modifiziert wurde.
  • Angenommen, in 6A ist die Verbindung zwischen S11 und L11 der Gruppe G1 ausgefallen. Folglich kann S11 keinen Verkehr an die Netzwerkknoten weiterleiten, deren Zieladressen zu AG1 gehören. In einigen Ausführungsformen schließt S11 als Reaktion auf die Erkennung der fehlerhaften Verbindung die Weiterleitung von Verkehr an L11 aus seiner Weiterleitungstabelle aus. Da S11 außerdem keinen alternativen Pfad zu AG1 hat, sendet S11 (i) eine FRN(AG1) an alle seine Nachbarn und (ii) setzt die mit AG1 verbundene Flagge. In diesem Beispiel sendet S11 FRN(AG1) an S21, S31, S41 und L12.
  • L12 empfängt die FRN(AG1), aber da es einen alternativen kürzesten Pfad zu AG1 (über S12) hat, sendet L12 keine weiteren FRNs. Keiner von S21, S31 und S41 hat einen alternativen kürzesten Pfad zu AG1. Infolgedessen sendet jeder von S21, S31 und S41 eine FRN(AG1) an alle seine Nachbarn über andere Ports als den Port, über den die FRN(AG1) empfangen wurde. So sendet beispielsweise S21 der Gruppe G2 eine FRN(AG1) an L21 und L22 innerhalb von G2, an S31 in G3 und an S41 in G4.
  • Die Leafs in G2, G3 und G4 haben alternative kürzeste Pfade zu AG1. Als Reaktion auf die FRN(AG1) setzen S21, S31 und S41 jeweils ihre AG1-Flagge und ignorieren daher weitere FRN(AG1), falls sie diese erhalten.
  • Nach der Wiederherstellung der fehlerhaften Verbindung kann ein mit L31 gekoppelter Netzwerkknoten beispielsweise Datenverkehr an einen Netzwerkknoten in AG1 über L31 und S32 von G3 und weiter über S12 und L11 von G1 senden. Längere Pfade, die z. B. S22 von G2 oder S42 von G4 umfassen, können ebenfalls verwendet werden.
  • In dem Beispiel von 6B ist die Verbindung zwischen S11 der Gruppe G1 und S31 der Gruppe G3 ausgefallen. Folglich kann S31 keinen Verkehr über eine direkte Verbindung an S11 senden. In diesem Fall sind sowohl AG1 als auch AG2 über S31 direkt zu S11 unerreichbar geworden.
  • In einigen Ausführungsformen schließt S31 als Reaktion auf die Erkennung der fehlerhaften Verbindung aus seiner Weiterleitungstabelle die Weiterleitung von Verkehr an S11 über die fehlerhafte Verbindung aus. Da S31 außerdem keinen alternativen kürzesten Pfad zu AG1 und AG2 hat, sendet S31 (i) eine FRN(AG1, AG2) an alle seine Nachbarn und (ii) setzt die mit AG1 und AG2 verbundenen Flaggen. In diesem Beispiel sendet S31 FRN(AG1, AG2) an L31 und L32 in G3 sowie an S21 in G2 und an S41 in G4.
  • Als Reaktion auf den Empfang von FRN(AG1, AG2) aktualisieren L31 und L32 jeweils ihre Weiterleitungstabelle, um die Weiterleitung des Verkehrs an S31 zu blockieren. Darüber hinaus haben L31 und L32 die kürzesten Pfade zu AG1 und AG2 und leiten daher keine FRNs weiter. Zum Beispiel hat L31 einen kürzesten Pfad zu AG1 und AG2 über S32, S12 und L11.
  • Als Reaktion auf den Empfang von FRN(AG1, AG2) von S31 blockiert S21 die Weiterleitung des Verkehrs an S31. S21 bleibt somit mit einem kürzesten Pfad zu (AG1, AG2) über S11 und mit einem längeren Pfad zu (AG1, AG2) über S41 und S11. Da S21 in diesem Fall einen kürzesten Pfad zu (AG1, AG2) hat, sendet S21 keine weiteren FRNs.
  • Im Beispiel von 6B ist zu erkennen, dass das Verfahren des kürzesten Pfades dazu führen kann, dass bestimmte Pfade unnötig eliminiert werden. So wird beispielsweise der Pfad von Netzwerkknoten in AG5 zu Netzwerkknoten in AG1, der S31 einschließt, eliminiert, obwohl dieser Pfad im Prinzip zur Umgehung der fehlerhaften Verbindung genutzt werden könnte.
  • In 6C ist die Verbindung zwischen S31 und S11 ausgefallen, wie in 6B oben beschrieben. Im Gegensatz zu 6B, in der der Ansatz des kürzesten Pfades verwendet wird, wird in 6C das prioritätsbasierte Verfahren von 5 verwendet.
  • In 6C wird einem Port mit dem kürzesten Pfad zu einem Ziel AG eine hohe Priorität zugewiesen, in der Figur mit „HP“ bezeichnet, während einem Port mit einem nicht kürzesten Pfad zu diesem AG eine niedrige Priorität zugewiesen wird, in der Figur mit „LP“ bezeichnet. Um beispielsweise Datenverkehr an die Adressgruppen AG1 und AG2 zu senden, hat S31 einen Port mit hoher Priorität zu einem kürzesten Pfad über S11 (bevor die Verbindung ausfällt) und zwei Ports mit niedriger Priorität zu entsprechenden nicht kürzesten Pfaden über S21 und S41. Ein weiteres Beispiel: S21 hat einen Port hoher Priorität mit einem Pfad zu AG1 und AG2 direkt über S11, einen Port niedriger Priorität mit einem Pfad zu AG1 und AG2 über S41 und S11 und einen weiteren Port niedriger Priorität mit einem Pfad zu AG1 und AG2 über S31, S41 und S11.
  • Gemäß dem Verfahren von 5 sendet ein Netzwerkelement FRNs nur an die Ports mit Pfaden niedriger Priorität unter den alternativen Pfaden zu dem betreffenden AG. In 6C sendet S31 als Reaktion auf die Feststellung, dass die Verbindung des Ports mit einem Pfad hoher Priorität zu AG1 und AG2 ausgefallen ist, FRN(AG1, AG2) über die Ports niedriger Priorität an S21 und S41. Da die Pfade von S31 zu AG1 und AG2 über L31 oder L32 ungültig sind, sendet S31 keine FRNs an L31 und L32, und daher bleiben die Pfade von L31 und L32 zu S32 aktiv.
  • S21 und S41 empfangen jeweils FRN(AG1, AG2) von S31 und blockieren die Weiterleitung des Verkehrs zu AG1 und AG2 über S31. Da S21 und S41 jeweils über einen Port mit hoher Priorität verfügen, der den kürzesten Pfad zu AG1 und AG2 hat, senden die Netzwerkelemente S11, S21 und S41 keine weiteren FRNs.
  • Im Beispiel von 6C kann ein Netzwerkknoten in AG5 nach der Wiederherstellung der fehlerhaften Verbindung (z. B. nach der Konvergenz des Protokolls) Verkehr an Netzwerkknoten in AG1 und AG2 über einen Pfad senden, der L31, S31, S21, S11 und L11 umfasst. Ein solcher Pfad wird, wie oben beschrieben, mit dem Ansatz des kürzesten Pfades eliminiert.
  • In der DragonFly Plus-Topologie beträgt der Netzwerkdurchmesser 3, wodurch die Konvergenzzeit begrenzt wird. R sei die Radix der Schalter in der Topologie, z. B. in 6A und 6B. Bei einem Ausfall einer gruppeninternen Verbindung (z. B. in 6A) ist die Gesamtzahl der gesendeten FRNs durch R/2*(R-1) nach oben begrenzt. Bei einem Ausfall der Inter-Gruppen-Verbindung (z. B. 6B) ist die Gesamtzahl der gesendeten FRNs nach oben durch 2*(R-1) begrenzt.
  • WIEDERHERSTELLUNG NACH EINEM VERBINDUNGSAUSFALL IN EINER XPANDER-TOPOLOGIE
  • 7 ist ein Diagramm, das schematisch ein Verfahren zur Wiederherstellung nach einem Verbindungsausfall in einem Kommunikationsnetzwerk 400 mit einer Xpander-Topologie gemäß einer hier beschriebenen Ausführungsform veranschaulicht.
  • Die Xpander-Topologie wird z. B. beschrieben von Valadarsky et al. in „Xpander: Towards Optimal-Performance Datacenters,“ CoNEXT '16: Proceedings of the 12th International on Conference on emerging Networking Experiments and Technologies, Dezember 2016, Seiten 205-219.
  • Die Xpander-Topologie umfasst mehrere Gruppen 404 mit Netzwerkelementen 408, die über Verbindungen 412 miteinander verbunden sind. Jedes Netzwerkelement in jeder Gruppe ist mit den entsprechenden Netzwerkelementen in allen anderen Gruppen verbunden. Im vorliegenden Beispiel umfasst die Xpander-Topologie vier Gruppen mit der Bezeichnung G1...G4, wobei die Gruppe ith Gi Netzwerkelemente mit der Bezeichnung Sij umfasst, j=1...3. In praktischen Xpander-Netzen können jedoch auch andere geeignete Anzahlen von Gruppen und Anzahlen von Netzwerkelementen pro Gruppe verwendet werden.
  • Im Kommunikationsnetzwerk 400 sind die Netzwerkknoten 416 mit den Netzwerkelementen 408 verbunden. Im vorliegenden Beispiel ist jedes Netzwerkelement 408 mit zwei Netzwerkknoten 416 verbunden. In anderen Ausführungsformen können jedoch auch andere geeignete Anzahlen von Netzwerkknoten pro Netzwerkelement verwendet werden. Netzwerkknoten, die mit einem gemeinsamen Netzwerkelement verbunden sind, gehören zu einer gemeinsamen AG. Zum Beispiel sind Netzwerkknoten 416, deren Zieladressen zu AG1 gehören, mit S11 verbunden. Im Beispiel von 7 sind die Netzwerkknoten in zwölf AGs mit der Bezeichnung AG1...AG12 angeordnet.
  • In der Xpander-Topologie von 7 kann ein Netzwerkelement Verkehr über drei disjunkte Pfade an ein anderes Netzwerkelement senden. Betrachten wir zum Beispiel S43 in G4, das Datenverkehr an S22 sendet. Ein erster Pfad umfasst S43, S32 und S22, ein zweiter Pfad umfasst S43, S23, S31, S12, S41 und S22, und ein dritter Pfad umfasst S43, S13 und S22.
  • Betrachten wir ein Szenario, in dem die Verbindung von S32 zu S22 ausfällt. Dies bedeutet, dass die zu AG5 gehörenden Netzwerkknoten aufgrund des Verbindungsausfalls über S32 nicht erreichbar sind. Unter der Annahme, dass ein Verbindungsausfall mit dem Verfahren aus 3 wiederhergestellt wird, sendet S22 als Initiator bei Erkennung der fehlerhaften Verbindung FRN(AG5) an seine Nachbarn S13 und S43. Nach dem Empfang von FRN(AG5) schließen S13 und S43 jeweils aus ihrer Weiterleitungstabelle (72) die Möglichkeit aus, Pakete an S32 weiterzuleiten. Sowohl S13 als auch S43 haben jedoch alternative Pfade zu AG5 und senden daher keine weiteren FRNs.
  • In einigen Ausführungsformen sind die Weiterleitungstabellen der Netzwerkelemente 408 so konfiguriert, dass sie Pakete nur über Pfade mit einer Länge von einem oder zwei Sprüngen zum letzten Netzwerkelement weiterleiten. In solchen Ausführungsformen sind die einzigen gültigen Pfade von S43 nach S22 (bevor ein Verbindungsausfall auftritt) über S32 oder über S13. In diesem Fall kann S43 nach Erhalt der FRN(A5) von S32 S22 nur über S13 erreichen.
  • Bei Xpander-Topologien konvergiert das Benachrichtigungsprotokoll (z. B. auf der Grundlage des Verfahrens von 3) nach einem einzigen Hop der FRN-Ausbreitung. Die Gesamtzahl der gesendeten FRNs ist gegeben durch (R-1), wobei R die Radix der Schalter in der Topologie bezeichnet.
  • Obwohl sich die in diesem Abschnitt beschriebenen Ausführungsformen hauptsächlich auf die Xpander-Topologie beziehen, ist das Verfahren in 7 in ähnlicher Weise auch auf andere Expander-Topologien anwendbar, wie z. B. die FlimFly- und die Jellyfish-Topologie. Die SlimFly-Topologie wird z. B. von Besta et al. in „Slim fly: A cost effective low-diameter network topology,“ SC'14: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, Seiten 348-359, IEEE, 2014 beschrieben. Die Jellyfish-Topologie wird beispielsweise von Singla et al. beschrieben in „Jellyfish: Networking data centers randomly,“ the 9th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 12),pages 225-238, 2012.
  • Die oben beschriebenen Ausführungsformen sind beispielhaft, und andere geeignete Ausführungsformen können ebenfalls verwendet werden.
  • Es wird deutlich, dass die oben beschriebenen Ausführungsformen als Beispiele angeführt werden und dass die folgenden Ansprüche nicht auf das beschränkt sind, was hierin besonders gezeigt und beschrieben wurde. Vielmehr umfasst der Anwendungsbereich sowohl Kombinationen und Unterkombinationen der verschiedenen hierin beschriebenen Merkmale als auch Variationen und Modifikationen davon, die Fachleuten beim Lesen der vorstehenden Beschreibung einfallen würden und die im Stand der Technik nicht offenbart sind. Die durch Verweis in die vorliegende Patentanmeldung aufgenommenen Dokumente sind als integraler Bestandteil der Anmeldung zu betrachten, mit der Ausnahme, dass in dem Maße, in dem Begriffe in diesen aufgenommenen Dokumenten in einer Weise definiert werden, die im Widerspruch zu den in der vorliegenden Beschreibung explizit oder implizit gemachten Definitionen steht, nur die Definitionen in der vorliegenden Beschreibung berücksichtigt werden sollten.
  • Es versteht sich, dass die oben beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass im Rahmen der Ansprüche Änderungen im Detail vorgenommen werden können.
  • Jedes Gerät, Verfahren und Merkmal, das in der Beschreibung und (gegebenenfalls) in den Ansprüchen und Zeichnungen offenbart wird, kann unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • Die in den Ansprüchen enthaltenen Bezugszeichen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 9391874 [0003]
    • US 8619546 [0004]
    • US 9729473 [0005]

Claims (26)

  1. Netzwerkelement, umfassend: mehrere Ports, die so konfiguriert sind, dass sie über Verbindungen mit einem Kommunikationsnetzwerk verbunden werden können; und eine Verarbeitungsschaltung, konfiguriert zum: Empfangen von Paketen über die Ports und Weiterleiten der empfangenen Pakete über die Ports an entsprechende Zieladressen, wobei die Zieladressen in Adressgruppen organisiert sind, wobei jede Adressgruppe mehrere Zieladressen von Endknoten umfasst, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind; als Reaktion auf die Feststellung, dass ein bestimmter Port mit einer fehlerhaften Verbindung verbunden ist, eine oder mehrere Adressgruppen zu bestimmen, die aufgrund der fehlerhaften Verbindung über den bestimmten Port unerreichbar geworden sind; Erzeugen einer Benachrichtigung, die eine oder mehrere der ermittelten Adressgruppen meldet, die über einen anderen Port als den bestimmten Port unerreichbar sind; und Übermitteln der Benachrichtigung an ein oder mehrere andere Netzwerkelemente über einen oder mehrere andere Ports als den bestimmten Port.
  2. Netzwerkelement nach Anspruch 1, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie als Reaktion auf den Empfang eines Pakets, das an den bestimmten Port weitergeleitet werden soll, feststellt, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist.
  3. Netzwerkelement nach Anspruch 1, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie feststellt, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist, unabhängig davon, ob sie ein Paket zur Weiterleitung an den bestimmten Port empfängt.
  4. Netzwerkelement nach Anspruch 1, 2 oder 3, wobei den Adressgruppen jeweils eindeutige Adressgruppenkennungen zugeordnet sind und wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie in der Benachrichtigung die Adressgruppenkennungen der bestimmten Adressgruppen meldet.
  5. Netzwerkelement nach einem der vorhergehenden Ansprüche, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie eine Abbildung hält, die jeden Port des Netzwerkelements auf entsprechende Adressgruppen abbildet, die über den Port erreichbar sind, und dass er die eine oder mehreren Adressgruppen durch Abbildung des bestimmten Ports auf entsprechende Adressgruppen unter Verwendung der Abbildung bestimmt.
  6. Netzwerkelement nach einem der vorhergehenden Ansprüche, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie nach der Übertragung der Benachrichtigung, die eine bestimmte Adressgruppe meldet, die Übertragung einer anderen Benachrichtigung, die die bestimmte Adressgruppe meldet, unterlässt.
  7. Verfahren, umfassend: in einem Netzwerkelement, das mehrere Ports zum Verbinden unter Verwendung von Verbindungen mit einem Kommunikationsnetzwerk umfasst, Pakete über die Ports empfangen und die empfangenen Pakete über die Ports an jeweilige Zieladressen weiterleiten, wobei die Zieladressen in Adressgruppen organisiert sind, wobei jede Adressgruppe mehrere Zieladressen von Endknoten umfasst, die mit einem gemeinsamen Netzwerkelement in dem Kommunikationsnetzwerk verbunden sind; als Reaktion auf die Feststellung, dass ein bestimmter Port mit einer fehlerhaften Verbindung verbunden ist, Bestimmen einer oder mehrerer Adressgruppen, die über den bestimmten Port aufgrund der fehlerhaften Verbindung unerreichbar wurden; Erzeugen einer Benachrichtigung, die eine oder mehrere der ermittelten Adressgruppen meldet, die über einen anderen Port als den bestimmten Port unerreichbar sind; und Übermitteln der Benachrichtigung an ein oder mehrere andere Netzwerkelemente über einen oder mehrere andere Ports als den bestimmten Port.
  8. Verfahren nach Anspruch 7, wobei das Feststellen, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist, das Feststellen umfasst, dass der bestimmte Port mit der fehlerhaften Verbindung verbunden ist, als Reaktion auf den Empfang eines Pakets, das an den bestimmten Port weitergeleitet werden soll.
  9. Verfahren nach Anspruch 7, wobei das Feststellen, dass der bestimmte Port mit einer fehlerhaften Verbindung verbunden ist, das Feststellen umfasst, dass der bestimmte Port mit der fehlerhaften Verbindung verbunden ist, unabhängig vom Empfang eines Pakets zur Weiterleitung an den bestimmten Port.
  10. Verfahren nach Anspruch 7, 8 oder 9, wobei den Adressgruppen jeweils eindeutige Adressgruppenkennungen zugeordnet sind und wobei das Erzeugen der Benachrichtigung das Melden der Adressgruppenkennungen der bestimmten Adressgruppen in der Benachrichtigung umfasst.
  11. Verfahren nach einem der Ansprüche 7 bis 10, ferner umfassend das Vorhalten einer Abbildung, die jeden Port des Netzwerkelements auf jeweilige Adressgruppen abbildet, die über den Port erreichbar sind, und wobei das Bestimmen der einen oder mehreren Adressgruppen die Abbildung des bestimmten Ports auf jeweilige Adressgruppen unter Verwendung der Abbildung umfasst.
  12. Verfahren nach einem der Ansprüche 7 bis 11, das ferner umfasst, dass nach der Übermittlung der Benachrichtigung, die eine bestimmte Adressgruppe meldet, die Übermittlung einer weiteren Benachrichtigung, die die bestimmte Adressgruppe meldet, unterlassen wird.
  13. Netzwerkelement, umfassend: mehrere Ports, die so konfiguriert sind, dass sie über Verbindungen mit einem Kommunikationsnetzwerk verbunden werden können; und eine Verarbeitungsschaltung, konfiguriert zum: Empfangen von Paketen über die Ports und Weiterleiten der empfangenen Pakete über die Ports an entsprechende Zieladressen, wobei die Zieladressen in Adressgruppen organisiert sind, wobei jede Adressgruppe mehrere Zieladressen von Endknoten umfasst, die mit einem gemeinsamen Netzwerkelement im Kommunikationsnetzwerk verbunden sind; Empfangen einer Benachrichtigung über einen bestimmten Port, wobei die Benachrichtigung eine oder mehrere Adressgruppen meldet, die über den bestimmten Port aufgrund eines Verbindungsausfalls in einem anderen Netzwerkelement unerreichbar geworden sind; und nach Feststellung einer oder mehrerer Adressgruppen in der empfangenen Benachrichtigung, die über einen beliebigen Port des Netzwerkelements nicht erreichbar sind, Senden einer Ausgangsbenachrichtigung über die festgestellten Adressgruppen über einen oder mehrere andere Ports als den bestimmten Port.
  14. Netzwerkelement nach Anspruch 13, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie bei der Feststellung, dass eine bestimmte Adressgruppe in der Benachrichtigung über einen alternativen Pfad erreichbar ist, darauf verzichtet, die bestimmte Adressgruppe in die Ausgangsbenachrichtigung aufzunehmen, und nachfolgende empfangene Pakete, die an die bestimmte Adressgruppe adressiert sind, über den alternativen Pfad weiterleitet.
  15. Netzwerkelement nach Anspruch 13 oder 14, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie als Reaktion auf die Benachrichtigung die Weiterleitung von Paketen, die an die bestimmten Adressgruppen zu liefern sind, über den bestimmten Port unterlässt.
  16. Netzwerkelement nach Anspruch 13, 14 oder 15, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie eine erste Benachrichtigung, gefolgt von einer zweiten Benachrichtigung, empfängt, wobei sowohl die erste als auch die zweite Benachrichtigung eine bestimmte Adressgruppe melden, die über den ersten bzw. zweiten Port unerreichbar geworden ist, und als Reaktion auf die erste Benachrichtigung eine Ausgangsbenachrichtigung, die die bestimmte Adressgruppe meldet, über den zweiten Port sendet, bevor sie die zweite Benachrichtigung empfängt.
  17. Netzwerkelement nach einem der Ansprüche 13 bis 16, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie in der Ausgangsbenachrichtigung Adressgruppen meldet, die nur über Ports mit nicht kürzesten Pfaden zu den jeweiligen Adressgruppen erreichbar sind.
  18. Netzwerkelement nach einem der Ansprüche 13 bis 17, wobei die Verarbeitungsschaltung so konfiguriert ist, dass sie für eine bestimmte Adressgruppe den Ports mit den kürzesten Pfaden zu der bestimmten Adressgruppe eine hohe Priorität und den Ports mit den nicht kürzesten Pfaden zu der bestimmten Adressgruppe eine niedrige Priorität zuweist und als Reaktion auf den Empfang einer Benachrichtigung, die die bestimmte Adressgruppe einschließt, eine Ausgangsbenachrichtigung, die über die bestimmte Adressgruppe berichtet, nur über Ports sendet, denen für die bestimmte Adressgruppe eine niedrige Priorität zugewiesen ist.
  19. Netzwerkelement nach einem der Ansprüche 13 bis 18, wobei das Kommunikationsnetzwerk eine Topologie umfasst, die aus einer Liste von Topologien ausgewählt ist, die Folgendes umfasst: eine Fat-Tree-Topologie, eine Clos-Topologie, eine DragonFly Plus-Topologie und eine Xpander-Topologie.
  20. Verfahren, umfassend: in einem Netzwerkelement, das mehrere Ports zum Verbinden unter Verwendung von Verbindungen mit einem Kommunikationsnetzwerk umfasst, Pakete über die Ports empfangen und die empfangenen Pakete über die Ports an jeweilige Zieladressen weiterleiten, wobei die Zieladressen in Adressgruppen organisiert sind, wobei jede Adressgruppe mehrere Zieladressen von Endknoten umfasst, die mit einem gemeinsamen Netzwerkelement in dem Kommunikationsnetzwerk verbunden sind; Empfangen einer Benachrichtigung über einen bestimmten Port, die eine oder mehrere Adressgruppen meldet, die über den bestimmten Port aufgrund eines Verbindungsausfalls in einem anderen Netzwerkelement unerreichbar geworden sind; und bei Feststellung einer oder mehrerer Adressgruppen in der empfangenen Benachrichtigung, die über einen beliebigen Port des Netzwerkelements nicht erreichbar sind, Übermitteln einer Ausgangsbenachrichtigung, die die festgestellten Adressgruppen über einen oder mehrere andere Ports als den bestimmten Port meldet.
  21. Verfahren nach Anspruch 20, das ferner umfasst, dass bei der Feststellung, dass eine bestimmte Adressgruppe in der Benachrichtigung über einen alternativen Pfad erreichbar ist, die bestimmte Adressgruppe nicht in die Ausgangsbenachrichtigung aufgenommen wird und nachfolgende empfangene Pakete, die an die bestimmte Adressgruppe adressiert sind, über den alternativen Pfad weitergeleitet werden.
  22. Verfahren nach Anspruch 20 oder 21, das ferner umfasst, dass als Reaktion auf die Benachrichtigung die Weiterleitung von Paketen, die an die bestimmten Adressgruppen zu liefern sind, über den bestimmten Port unterlassen wird.
  23. Verfahren nach Anspruch 20, 21 oder 22, ferner umfassend das Empfangen einer ersten Benachrichtigung, gefolgt von einer zweiten Benachrichtigung, wobei sowohl die erste als auch die zweite Benachrichtigung eine bestimmte Adressgruppe melden, die über den ersten bzw. zweiten Port unerreichbar geworden ist, und in Reaktion auf die erste Benachrichtigung das Senden einer Ausgangsbenachrichtigung, die die bestimmte Adressgruppe meldet, über den zweiten Port, bevor die zweite Benachrichtigung empfangen wird.
  24. Verfahren nach einem der Ansprüche 20 bis 23, das ferner das Melden von Adressgruppen in der Ausgabebenachrichtigung umfasst, die nur über Ports mit nicht kürzesten Pfaden zu den jeweiligen Adressgruppen erreichbar sind.
  25. Verfahren nach einem der Ansprüche 20 bis 24, das ferner umfasst: Zuweisen einer hohen Priorität für eine bestimmte Adressgruppe zu Ports mit kürzesten Pfaden zu der bestimmten Adressgruppe und einer niedrigen Priorität zu Ports mit nicht kürzesten Pfaden zu der bestimmten Adressgruppe, und als Reaktion auf den Empfang einer Benachrichtigung, die die bestimmte Adressgruppe einschließt, Senden einer Ausgangsbenachrichtigung, die die bestimmte Adressgruppe nur über Ports meldet, denen eine niedrige Priorität für die bestimmte Adressgruppe zugewiesen ist.
  26. Verfahren nach einem der Ansprüche 20 bis 25, wobei das Kommunikationsnetzwerk eine Topologie umfasst, die aus einer Liste von Topologien ausgewählt ist, die Folgendes umfasst: eine Fat-Tree-Topologie, eine Clos-Topologie, eine DragonFly Plus-Topologie und eine Xpander-Topologie.
DE102022202781.7A 2021-03-25 2022-03-22 Effiziente ausbreitung von benachrichtigungen über fehlerhafte weiterleitungen Pending DE102022202781A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/211,904 2021-03-25
US17/211,904 US11552882B2 (en) 2021-03-25 2021-03-25 Efficient propagation of fault routing notifications

Publications (1)

Publication Number Publication Date
DE102022202781A1 true DE102022202781A1 (de) 2022-09-29

Family

ID=83192529

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022202781.7A Pending DE102022202781A1 (de) 2021-03-25 2022-03-22 Effiziente ausbreitung von benachrichtigungen über fehlerhafte weiterleitungen

Country Status (3)

Country Link
US (1) US11552882B2 (de)
CN (1) CN115208746A (de)
DE (1) DE102022202781A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116055382A (zh) * 2022-11-22 2023-05-02 浪潮思科网络科技有限公司 一种组网的网络收敛方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619546B2 (en) 2010-08-17 2013-12-31 Alcatel Lucent Method and apparatus for coping with link failures in central control plane architectures
US9391874B2 (en) 2008-05-12 2016-07-12 Telefonaktiebolaget L M Ericsson (Publ) Re-routing traffic in a communications network
US9729473B2 (en) 2014-06-23 2017-08-08 Mellanox Technologies, Ltd. Network high availability using temporary re-routing

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180857B2 (en) * 2000-11-24 2007-02-20 Matsushita Electric Industrial Co., Ltd Apparatus and method for flow control
US7085224B1 (en) * 2001-06-14 2006-08-01 Cisco Technology, Inc. Method and apparatus for fast failure detection in switched LAN networks
US20030189940A1 (en) * 2001-07-02 2003-10-09 Globespan Virata Incorporated Communications system using rings architecture
JP4544415B2 (ja) * 2004-12-22 2010-09-15 日本電気株式会社 中継ネットワークシステム、ノード装置、および障害通知方法
US7965621B2 (en) 2005-06-14 2011-06-21 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for failure handling in a network
IL176330A0 (en) * 2006-06-15 2007-07-04 Eci Telecom Ltd Technique of traffic protection loop-free interconnection for ethernet and/or vpls networks
US7852751B2 (en) * 2008-02-15 2010-12-14 Cisco Technology, Inc. Constructing repair paths around multiple non-available links in a data communications network
EP2484060B1 (de) 2009-10-02 2013-07-10 Telefonaktiebolaget LM Ericsson (publ) Techniken zur Steuerung der Datenvermittlung in Computer Netzwerken
US8804489B2 (en) * 2010-09-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Fast flooding based fast convergence to recover from network failures
CN102118317B (zh) * 2011-03-24 2012-11-21 北京星网锐捷网络技术有限公司 一种虚链路地址的选择方法、装置及网络设备
CN103036794A (zh) * 2011-10-10 2013-04-10 华为技术有限公司 一种报文的学习方法、装置和系统
CN102387077B (zh) * 2011-10-19 2014-02-12 西安电子科技大学 具有容错功能的热量均衡片上网络路径选择方法
CN102629912B (zh) * 2012-03-27 2014-04-23 中国人民解放军国防科学技术大学 面向无缓冲片上网络的容错偏转路由方法及装置
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
US9544185B1 (en) * 2013-11-05 2017-01-10 Cisco Technology, Inc. Hardware based fast convergence for network failures
CN104158738B (zh) * 2014-08-29 2017-04-19 中国航空无线电电子研究所 一种低缓冲区片上网络路由器及路由方法
CN105871674B (zh) * 2015-01-23 2019-10-22 华为技术有限公司 环保护链路故障保护方法、设备及系统
US10819621B2 (en) 2016-02-23 2020-10-27 Mellanox Technologies Tlv Ltd. Unicast forwarding of adaptive-routing notifications
CN107547159B (zh) * 2016-06-28 2019-05-21 华为技术有限公司 一种时钟跟踪路径的规划方法及管理设备
CN109391543B (zh) * 2017-08-02 2021-11-19 中国电信股份有限公司 用于多业务故障恢复的方法和系统、业务恢复辅助系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9391874B2 (en) 2008-05-12 2016-07-12 Telefonaktiebolaget L M Ericsson (Publ) Re-routing traffic in a communications network
US8619546B2 (en) 2010-08-17 2013-12-31 Alcatel Lucent Method and apparatus for coping with link failures in central control plane architectures
US9729473B2 (en) 2014-06-23 2017-08-08 Mellanox Technologies, Ltd. Network high availability using temporary re-routing

Also Published As

Publication number Publication date
US20220311702A1 (en) 2022-09-29
US11552882B2 (en) 2023-01-10
CN115208746A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
DE102005032479B4 (de) Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten
DE60318878T2 (de) Verfahren und systeme zum austausch von erreichbarkeitsinformationen und zum umschalten zwischen redundanten schnittstellen in einem netzwerkcluster
DE112016005600B4 (de) Querverbindung von Switches auf der Basis eines hierarchischen Overlay-Tunneling
DE69827201T2 (de) Verfahren und system zur server-netzwerkvermittlung-mehrverbindung
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE102011112852B4 (de) Zugangsnetz-Doppelwegkonnektivität
DE69922690T2 (de) Fehlertolerante netze
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE102011114278B4 (de) Verfahren und Vorrichtung, die eine Ausfallumschaltung für einen Punkt-Punkt-Tunnel für Split-Plane-Umgebungen drahtloser lokaler Netze bereitstellen
DE69735740T2 (de) Asynchrone paketvermittlung
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
EP2130329A1 (de) Verfahren zum rekonfigurieren eines kommunikationsnetzwerks
DE102015102871A1 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE112008002665T5 (de) Bereitstellen einer Abstraktionsschicht in einem Clusterswitch, der mehrere Switches hat
DE112012001320T5 (de) Prioritätsgestützte Flusssteuerung in einer Switching-Netzwerkarchitektur mit einem Protokoll einer verteilten Stuktur (Distributed Fabric Protocol DFP)
EP2070256A1 (de) Verfahren zum rekonfigurieren eines kommunikationsnetzwerks
EP1394985A1 (de) Testverfahren für Nachrichtenpfade in Kommunikationsnetzen sowie Netzelement
DE102019104942A1 (de) Kommunikation einer Nachricht unter Verwendung einer Netzwerkschnittstellensteuerung in einem Subnetz
DE102021209842A1 (de) Deadlock-freies umleiten zur behebung lokaler verbindungsausfälle unter verwendung von umleitungspfaden
DE112016003242T5 (de) System und verfahren zum handhaben von verbindungsverlust in einem netzwerk
DE102011114276B4 (de) Ausfallsicherheit durch Routed Split Multi-Link Trunking für Split-Plane-Umgebungendrahtloser lokaler Netze
DE69837609T2 (de) Kommunikationsnetz
DE69826640T2 (de) Vermittlungsarchitektur mit zwei Koppelfelden
DE102022202781A1 (de) Effiziente ausbreitung von benachrichtigungen über fehlerhafte weiterleitungen
DE60112940T2 (de) Ausfallsicherer Netzwerkschalter

Legal Events

Date Code Title Description
R012 Request for examination validly filed