-
Gebiet der Erfindung
-
Die
vorliegende Erfindung gehört
zum Gebiet einer Leitweglenkung von Paketen zwischen Knoten in einer
Routerfabric und betrifft insbesondere Verfahren zum Multicasting
von Datenpaketen auf Fabricniveau in einem Datenrouter. Insbesondere betrifft
die vorliegende Erfindung einen multicastfähigen Port zum Replizieren
von Multicastdatenpaketen gemäß dem Oberbegriff
von Anspruch 1. Ebenso betrifft die Erfindung ein Verfahren zum
Multicasting gemäß dem Oberbegriff
von Anspruch 10. Diese Systeme und Verfahren sind aus der
US 5,898,687 bekannt.
-
Hintergrund der Erfindung
-
Mit
dem Erscheinen und der fortlaufenden Entwicklung des wohlbekannten
Internetnetzwerks und ähnlicher
Datenpaketnetzwerke ist Rechenmaschinen im Hinblick auf Empfangen,
Verarbeiten und Weiterleiten von Datenpaketen viel Aufmerksamkeit gewidmet
worden. Solche Maschinen, die im Stand der Technik als Router bekannt
sind, weisen typischerweise mehrere Schnittstellen zum Empfangen und
Senden von Paketen und eine Schaltungsanordnung an jeder Schnittstelle,
die typischerweise einen Prozessor enthält, auf, um Pakete abzuwickeln
und zu verarbeiten. Die Schaltungsanordnung an den Schnittstellen
ist auf Modulen implementiert, die im Stand der Technik als Leitungskarten
bekannt sind, und sämtliche
Leitungskarten sind dadurch miteinander verbunden, was als die interne
Fabric bekannt ist, die miteinander verbundene Fabrickarten umfasst, die Übertragungen
durch die Fabric abwickeln.
-
1,
die mit Stand der Technik bezeichnet ist, veranschaulicht eine Anzahl
von miteinander verbundenen Fabricknoten, die in diesem Beispiel
mit A bis J bezeichnet sind, von denen jeder Knoten recht gut so
betrachtet werden kann, dass er eine Fabrickarte in einer Switchingfabric
in einem Router umfasst. Es ist für den Fachmann ersichtlich,
dass 1 eine Beispiel- und Teildarstellung von Knoten
und Verbindungen in einer Switchingfabric ist und dass es typischerweise
viel mehr Knoten und Verbindungen gibt, als diejenigen, die dargestellt
sind.
-
Ein
Zweck von 1 in diesem Zusammenhang besteht
darin, zu veranschaulichen, dass es eine breite Mannigfaltigkeit
von alternativen Pfaden gibt, die Daten in einer Switchingfabric
nehmen können.
Zum Beispiel kann eine Übertragung
vom Knoten E zum Knoten J entweder über den Pfad E-F-H-G-J oder
alternativ über
E-F-D-G-J vor sich gehen. Der Fachmann erkennt auch, dass die Knoten und
Verbindungen, die dargestellt sind, lediglich ein winziger Bruchteil
der Knoten und Verbindungen sind, die in einem praktischen System
vorhanden sein können.
-
In
einer herkömmlichen
Switchingfabric zum Zeitpunkt der vorliegenden Patentanmeldung sind Fabricknoten
in einer solchen Struktur auf Fabrickarten implementiert, die einen
Mikroprozessor und Code zur Durchführung einer Flussregelung enthalten.
Eine solche Flussregelung ist im Stand der Technik sehr gut bekannt
und umfasst einen Prozess zum Überwachen
von Ports bei Fabrickarten hinsichtlich Verkehr und Fehler und Inkenntnissetzung
von stromaufwärts
gelegenen Verbindungen für
jeglichen Fehler. D. h., wenn der Knoten G, wie in 1 dargestellt, überlastet
wird, setzt die Flussregelung bei G D, H, I und J von dem Problem
in Kenntnis (und beliebige andere Knoten, mit denen G verbunden
sein kann), und als Antwort beschränken oder setzen diese Knoten
Verkehr zu G aus und leiten Verkehr zu alternativen Pfaden um. Bei
dieser Flussregelung werden von Knoten empfangene Flussregelungsnachrichten
verwendet, um dieselben oder unterschiedliche Flussregelungsnachrichten
zu anderen stromaufwärts
gelegenen Knoten auszubreiten. In 1 zeigen
Pfeile zwischen Knoten Flussregelungsnachrichten an, die geschickt
wurden, und der Fachmann versteht auch, dass Verkehr in einer beliebigen
Richtung erfolgen kann und dass Flussregelungsnachrichten deshalb
auch in beide Richtungen laufen.
-
Ein
ernstes Problem bei einer Flussregelung, wie sie herkömmlicherweise
durchgeführt
wird, besteht darin, dass sich die Stromaufwärtsinkenntnissetzungen, die
einer Flussregelung inhärent
sind, weiter stromaufwärts
ausbreiten und dass sie Verkehr, der nicht zum Erliegen gebracht
werden muss, behindern oder zum Erliegen bringen, zum Teil deshalb,
weil die Verbindungen von Knoten ziemlich kompliziert und die alternativen
Pfade ziemlich zahlreich sein können.
Dieser Effekt kann wegen der Komplexität und Verbindung von Knoten
einer Fabric zu einer vollständigen
Lähmung
von Teilen eines Systems oder eines ganzen Netzwerks führen.
-
Es
hat im Stand der Technik mehrere Versuche gegeben, eine Flussregelung
zu verbessern, aber alle solche Lösungen sind nur zum Teil erfolgreich
gewesen und verwenden noch eine Stromaufwärtsausbreitung von Regelungsnachrichten,
für die immer
noch eine gute Möglichkeit
besteht, eine unerwünschte
Schwierigkeit hervorzurufen.
-
Ein
Verfahren zum Verwalten von Datenverkehr in Knoten, die ein Fabricnetzwerk
bilden, ist dem Erfinder bekannt. Jeder Knoten weist mindestens zwei,
aber typischerweise mehr, externe Ports auf, und die einzelnen Ports
jedes Knotens sind durch einen Schaltmechanismus, der als Kreuzschiene
bekannt ist, mit anderen Ports des Knotens intern gekoppelt. Dieses
Verfahren beinhaltet die Schritte: Erstellen einer virtuellen Ausgabewarteschlange
(VOQ) und eines Warteschlangenverwalters in jedem ankommenden Portpfad
des Knotens, der als eine Fabrickarte bezeichnet wird, um ankommenden
Datenverkehr bei jedem Port zu verwalten. In diesem Datenleitweglenkungssystem werden
alle Daten von einem Eingangsport des Knotens zu einem Ausgangsport
des Knotens geschickt, vorausgesetzt dass die Warteschlange in dem
Pfad zwischen den Ports weniger als voll ist. Eingangspakete werden
in einem Portpfad mit einer vollen Warteschlange ausgesondert, bis
das Warteschlangenniveau wieder weniger als voll ist.
-
In
einigen Fällen überwacht
der Warteschlangenverwalter ein Warteschlangenniveau im Verhältnis zu
einem voreingestellten Schwellwert und beginnt damit, Daten mit
einer vorbestimmten Rate auszusondern, wenn ein Warteschlangenniveau
den Schwellwert erreicht. In anderen Fällen erhöht der Warteschlangenverwalter
die Rate eines Aussonderns während
ein Warteschlangenniveau über
den voreingestellten Schwellwert ansteigt, wobei aller Datenverkehr
ausgesondert wird, wenn die Warteschlange vollständig voll ist. Das Verfahren
ermöglicht,
dass eine Datenverwaltung wirkungsvoll in einem Fabricnetzwerk bewerkstelligt
wird, ohne dass eine herkömmliche
Flussregelung benötigt
wird, die eine Stromaufwärtsausbreitung
von Flussregelungsanzeigen erfordert, und auf eine Weise, die weniger Verkehr
verliert und weniger kompliziert ist als im Stand der Technik.
-
Hinsichtlich
des Beitrags zum oben beschriebenen Stand der Technik von Datenpaketleitweglenkung
ist der Erfinder auf den Gedanken gekommen, dass zusätzlich zum
Verwalten von Daten, ohne dass Flussregelungsverfahren nach dem
Stand der Technik erforderlich sind, andere Datenverwaltungsaufgaben
mit geringer Modifikation an den oben beschriebenen Ports ausgeführt werden
können.
Eine dieser Aufgaben ist eine Erzeugung von Kopien von Paketen zum
Multicasting von Daten zu einer Mehrzahl von Netzwerkendzielen.
-
Es
ist wohlbekannt, dass Multicasting eine Herstellung mehrerer Kopien
von Datenpaketen erfordert, wobei die Kopien alle dieselben Zieladressen aufweisen.
Die Anzahl von Kopien, die in einem Multicastingprozess erforderlich
sind, ist natür lich
eine Funktion der Anzahl von Zielen, die dieselben Daten empfangen
sollen. Das massenweise In-die-Welt-Setzen von mehreren Kopien von
Paketen zum Multicasting von Daten wird, wie im Stand der Technik
bekannt ist, in einigen Fällen
durch Datenrouter ausgeführt,
die in einer Netzwerktopologie eingerichtet sind. Z. B. werden ein
oder mehrere Router, auf denen Multicastsoftware läuft, bereitgestellt,
um den erforderlichen gesamten oder zugewiesenen Teil von Multicastpaketen
zu replizieren, die dann zu ihren Zielen weitergeroutet werden.
Im Gegensatz zu Rundfunkdaten, wobei mehrere Benutzer mit einem
gemeinsamen Kundenzugangspunkt verbunden sind, der in einer lokalen
Netzwerktopologie beherbergt ist, werden Multicastdaten zu allen
Teilnehmerbenutzern getrieben, deren Adressen in einer Multicastgruppe
verzeichnet sind, deren Identität
typischerweise in einer Datenliste festgestellt ist. Andere Verfahren
umfassen eine Verwendung von Multicastservern, die typischerweise
für sehr
große
Multicastoperationen verwendet werden.
-
Ein
Nachteil, der Multicastverfahren früherer und gegenwärtiger Technik
inhärent
ist, wie sie bei einem Datenpaketnetzwerk durchgeführt werden,
besteht darin, dass Router, die für ein Multicasting erweitert
sind, in einem Umfang von Multicastverkehr, in der Anzahl von Kopien,
die von jedem Multicastpaket gemacht werden, und in der Anzahl von
Routerports nichtskalierbar sind. Obwohl Multicasting über viele
Router oder Multicastserver in einem Netzwerk verteilt sein kann,
wo Router verwendet werden, weist jeder Router Grenzen für seine
Multicastweiterleitungsleistungsfähigkeit auf. Wie oben beschrieben,
werden für
sehr große
Projekte wegen verfügbarer
Verarbeitungsleistung, die für
andere Zwecke nicht dediziert ist, am häufigsten Multicastserver verwendet.
-
Es
ist wünschenswert,
ein Multicastingvermögen
in einem Router bereitzustellen, das für große Projekte skalierbar ist,
aber keine Engpässe
oder andere Probleme in dem Router oder den Routern, der/die zum
Multicasting vorgesehen ist/sind, hervorruft.
-
Was
offensichtlich benötigt
wird, ist ein Verfahren und eine Vorrichtung, um ein Multicastvermögen in einem
Datenrouter mit mehreren Routerkarten zu ermöglichen, so dass eine Multicastingaktivität mehreren
Multicastbauelementen in dem Router zugeteilt werden kann, wodurch
keinerlei Bauelement oder Pfad des Routers in Anspruch genommen
wird. Ein solches Verfahren und eine solche Vorrichtung würden für große Anzahlen
von Routerports und starken Multicastverkehr skalierbar sein und
könnten ähnlich einer
Mehrzahl von zusammenwirkenden Routern in einem gegebenen Netzwerk
zugeteilt werden, wobei ein im Stand der Technik vorhandenes Erfordernis
beseitigt wird, um leistungsfähige
Multicastserver für
große
Zuweisungen zu verwenden.
-
Zusammenfassung der Erfindung
-
In
einer bevorzugten Ausführungsform
der vorliegenden Erfindung wird ein multicastfähiger Port zum Replizieren
von Multicastdatenpaketen bereitgestellt, umfassend mindestens einen
Eingangspfad in den Port zum Empfang der Datenpakete, mindestens
einen Ausgangspfad aus dem Port zum Ausgeben von Datenpaketen und
ein multicastfähiges
Bauelement, das mit dem Ausgangs- und Eingangspfad des Ports gekoppelt
ist, wobei das multicastfähige Bauelement
zum Replizieren und Neuadressieren der replizierten Datenpakete
dient. Der Port ist dadurch gekennzeichnet, dass zum Multicasting
zugewiesene Datenpakete an dem Port auf dem Eingangspfad ankommen
und zum multicastfähigen Bauelement
umgeleitet werden, wobei die Pakete repliziert oder neu adressiert
werden und zu dem Eingangspfad ausgegeben werden.
-
In
einigen Ausführungsformen
ist der Port auf einer Karte in einem Datenrouter beherbergt. Auch
ist in einigen Ausführungs formen
der Port mit anderen Eingangs-/Ausgangsports der Karte gekoppelt.
Weiter kann mehr als ein multicastfähiger Port auf derselben Karte
angebracht sein. Noch weiter kann es mehrere Karten in dem Datenrouter
geben, von denen einzelne mindestens einen multicastfähigen Port
beherbergen. In einigen Fällen
ist der Datenrouter mit anderen ähnlichen
Datenroutern verbunden, die über
eine Netzwerktopologie verteilt sind, und einzelne der multicastfähigen Ports,
die damit in Zusammenhang stehen, sind für einen Teil eines Multicastprojekts
verantwortlich.
-
Der
wie soeben oben beschrieben bereitgestellte Port kann in einigen
Ausführungsformen
als eine integrierte Schaltung implementiert sein und kann entweder
ein Teil des IC eines Ports sein oder separat von dem Port als ein
separater IC vorliegen. Ungeachtet einer Implementierung gibt es
in bevorzugten Ausführungsformen
eine dem Prozessor zugeordnete Tabelle, die eine Anweisung zum Multicasting
enthält,
wobei Tabelleneinträge
durch Software konfiguriert sind.
-
In
einem anderen Aspekt der Erfindung wird eine multicastfähige Fabrickarte
in einem Datenrouter bereitgestellt, umfassend mindestens zwei Ports, die
durch Datenpfade miteinander gekoppelt sind, und mindestens einen
Multicastprozessor, dadurch gekennzeichnet, dass zum Multicasting
zugewiesene Datenpakete an der multicastfähigen Fabrickarte ankommen
und am Multicastprozessor abgeliefert werden, in dem sie nach Bedarf
zum Multicast repliziert und/oder modifiziert und weitergeleitet
werden.
-
In
einigen Ausführungsformen
ist die Karte durch Portpfade mit anderen Karten in demselben Router
gekoppelt. Auch gibt es in einigen Ausführungsformen eine Schalteinrichtung,
die auf der Karte vorgesehen ist, wobei die Schalteinrichtung zum Verwalten
von Port-zu-Port-Kommunikation dient. Der multicastfähige Port
kann eine integrierte Schaltung sein. In bevorzugten Ausführungsformen
gibt es eine Tabelle, die eine Anweisung zum Multicasting enthält, wobei
Tabelleneinträge
durch Software konfiguriert werden.
-
In
noch einem anderen Aspekt der Erfindung wird ein Multicastprozessor
bereitgestellt, umfassend einen oder mehrere erste Ports zum Kommunizieren mit
einem oder mehreren zweiten Ports von einem von Schaltelementen
und eine Schaltungsanordnung zum Modifizieren oder Replizieren von
zum Prozessor gerouteten Multicastpaketen, dadurch gekennzeichnet,
dass Multicastpakete, die von der einen oder den mehreren Fabrickarten
erhalten werden, nach Bedarf repliziert und/oder modifiziert werden, und über den
einen oder die mehreren ersten Ports zu einem von dem einen oder
den mehreren der zweiten Ports weitergeleitet werden.
-
In
noch einem anderen Aspekt der Erfindung wird ein multicastfähiger Datenrouter
mit einem multicastfähigen
Port zum Replizieren von Multicastdatenpaketen bereitgestellt, wobei
der Port aufweist: mindestens einen Eingangspfad in den Port zum Empfangen
der Datenpakete, mindestens einen Ausgangspfad aus dem Port zum
Ausgeben von Datenpaketen und ein multicastfähiges Bauelement, das mit dem
Ausgangs- und Eingangspfad des Ports, dem multicastfähigen Bauelement
zum Replizieren und Neuadressieren der replizierten Datenpakete
gekoppelt ist. Der Router ist dadurch gekennzeichnet, dass zum Multicasting
zugewiesene Datenpakete am Port ankommen und zum multicastfähigen Bauelement
umgeleitet werden, in dem die Pakete repliziert und neu adressiert
und weitergeleitet werden.
-
In
einigen Ausführungsformen
des Routers, der bereitgestellt wird, ist das multicastfähige Bauelement
in der Schaltungsanordnung des multicastfähigen Ports integriert. Auch
ist in einigen Ausführungsformen
der multicastfähige
Port ein Fabrickartenport und kann ein externer Port sein. Es kann
auch in bevorzugten Ausführungsformen
eine Tabelle geben, die Anweisungen zum Multicasting enthält.
-
In
noch einem anderen Aspekt der Erfindung wird ein multicastfähiger Datenrouter
mit einer Fabrickarte, die mindestens zwei Ports umfasst, die durch
Datenpfade miteinander gekoppelt sind, und mindestens ein Multicastprozessor
bereitgestellt, dadurch gekennzeichnet, dass zum Multicasting zugewiesene
Datenpakete an der Fabrickarte ankommen und an den Multicastprozessor
abgeliefert werden, in dem sie nach Bedarf zum Multicast repliziert und/oder
modifiziert und weitergeleitet werden.
-
In
einigen Ausführungsformen
dieses Routers ist das multicastfähige Bauelement in der Schaltungsanordnung
von dem einen der Ports der multicastfähigen Fabrickarte integriert,
und in bevorzugten Ausführungsformen
gibt es eine Tabelle, die Anweisungen zum Multicasting enthält.
-
In
noch einem anderen Aspekt wird ein multicastfähiger Datenrouter, umfassend
einen Multicastprozessor mit einem oder mehreren ersten Ports zum
Kommunizieren mit einem oder mehreren zweiten Ports von einer oder
mehreren Fabrickarten und eine Schaltungsanordnung zum Modifizieren
oder Replizieren von zum Prozessor gerouteten Multicastpaketen,
bereitgestellt, dadurch gekennzeichnet, dass Multicastpakete, die
von der einen oder den mehreren Fabrickarten empfangen werden, nach
Bedarf repliziert und/oder modifiziert werden, und über einen
oder mehrere der ersten Ports zu einem oder mehreren der zweiten
Ports weitergeleitet werden. In diesem Router ist in einigen Ausführungsformen
der Multicastprozessor in der Schaltungsanordnung von einem der
Ports der Fabrickarte integriert, und es gibt eine Tabelle, die
Anweisungen zum Multicasting enthält.
-
In
noch einem anderen Aspekt wird ein Verfahren zum Multi casting bereitgestellt,
umfassend Schritte: (a) Bereitstellen einer Mehrzahl von Multicastprozessoren
in einem Router, wobei jeder einen oder mehrere erste Ports zum
Kommunizieren mit zweiten Ports des Routers aufweist; (b) Empfangen von
Multicastpaketen an einem der zweiten Ports und Senden der Multicastpakete
zu einem von den Multicastprozessoren über die ersten Ports; (c) Replizieren
und/oder Modifizieren der Datenpakete zum Multicasting entsprechend
dem Multicastprozessor zugeordneten tabellierten Anweisungen; und
(d) Weiterleiten der replizierten oder modifizierten Pakete zu einzelnen
der zweiten Ports.
-
Bei
diesem Verfahren ist in einigen Ausführungsformen der Multicastprozessor
als ein Teil eines Ports einer Leitungskarte in dem Router integriert,
in einigen anderen Ausführungsformen
ist der Multicastprozessor als ein Teil eines Ports einer Fabrickarte
im Router integriert. In einigen Fällen ist der Multicastprozessor
ein selbstständiges
Bauelement, und die zweiten Ports, mit denen die ersten Ports kommunizieren,
sind Ports von einer oder mehreren Fabrickarten in dem Router.
-
In
einigen Ausführungsformen
des Verfahrens gibt es in Schritt (a) eine Mehrzahl von miteinander
verbundenen Routern, von denen einzelne Multicastprozessoren aufweisen,
und wobei in Schritt (d) replizierte oder modifizierte Pakete zu
einzelnen der Mehrzahl von miteinander verbundenen Routern weitergeleitet
werden. Einzelnen Multicastprozessoren zugeordnete tabellierte Anweisungen
werden periodisch aktualisiert.
-
In
den verschiedenen Ausführungsformen der
Erfindung die in ausreichendem Detail unten beschrieben sind, wird
zum ersten Mal einem Router auf eine Weise ein Multicastingvermögen zur
Verfügung
gestellt, dass ein Multicastingprojekt schnell und wirkungsvoll
durchgeführt
werden kann.
-
Kurze Beschreibungen der Zeichnungsfiguren
-
1 ist
eine Darstellung nach dem Stand der Technik, die Fabricknotenverbindungen
und eine Stromaufwärtsausbreitung
von Flussreglungsnachrichten veranschaulicht.
-
2 ist
eine Darstellung einer Fabrickarte in einer Ausführungsform der vorliegenden
Erfindung.
-
3 ist
eine Darstellung eines Fabricnetzwerks von Fabrickarten in einer
Ausführungsform
der vorliegenden Erfindung.
-
4 ist
eine Darstellung einer Fabrickarte eines Datenrouters mit Multicastingvermögen über einen
Multicastport gemäß einer
Ausführungsform der
vorliegenden Erfindung.
-
5 ist
ein Blockschaltbild, das Bauelemente des Multicastports von 4 veranschaulicht.
-
6 ist
ein Flussdiagramm, das einen Paketreplikationsprozess einer Multicast-Fabrickarte gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht.
-
Beschreibung der bevorzugten
Ausführungsformen
-
2 ist
eine Draufsicht auf eine Fabrickarte 201 in einer Ausführungsform
der vorliegenden Erfindung. In dieser Ausführungsform gibt es neun (9) Ports
auf jeder Karte, statt vier, wie in der Darstellung nach dem Stand
der Technik von 1 angezeigt. Dies soll nicht
bedeuten, dass der Stand der Technik auf vier Ports pro Knoten beschränkt ist,
da 1 bloß beispielhaft
war.
-
In
der Fabrickarte dieser Ausführungsform, wie
in 2 dargestellt, gibt es neun Warteschlangenverwalter 209,
einen für
jeden externen Port 205, wobei jeder Warteschlangenverwalter
von seinem verbundenen externen Port durch eine optische Schnittstelle 207 isoliert
ist. Die Zwischen-Knoten-Kommunikation
in dieser Ausführungsform
erfolgt durch optische Leitungen. Die Warteschlangenverwalter 209 bilden
eine Schnittstelle mit einer Kreuzschiene 203, die jeden
der neun Ports mit den anderen acht Ports in dieser Ausführungsform
intern verbindet, obwohl diese internen Verbindungen der Einfachheit
halber nicht dargestellt sind.
-
3 ist
eine Darstellung, die eine Fabric mit miteinander verbundenen Fabrickarten
gemäß der Ausführungsform,
die oben mit Bezug auf 2 beschrieben ist, veranschaulicht.
In dieser Darstellung ist eine Karte 319 so wiedergegeben,
dass sie mit neun Nachbarkarten 301, 303, 305, 307, 309, 311, 313, 315 und 317 verbunden
ist. Jede der Nachbarkarten ist so veranschaulicht, dass sie acht
zusätzliche
Ports zum Miteinanderverbinden mit weiteren Nachbarn zusätzlich zu
dem einen Port aufweist, der den nahen Nachbarn mit der Karte 319 verbindet.
Es ist für
den Fachmann aus dieser Darstellung deutlich, dass eine Verbindungskomplexität mit einer
sehr großen
Rate in die Höhe
schnellt, während
sich Ports und Karten (Knoten) stark vermehren.
-
Mit
Bezug zurück
auf 2 tritt jeder Port auf jeder Karte durch ein Warteschlangenverwaltungstor 209 hindurch,
wie in 2 angezeigt. Jeder Warteschlangenverwalter umfasst
eine temporäre
Speicherwarteschlange mit Regelungen zum Verwalten von Fluss in
der Ankunftsrichtung. Datenverkehr, der auf einem beliebigen Port
ankommt, läuft
z. B. durch eine Zuerst-herein-zuerst-heraus
(FIFO)-Warteschlange, und der Warteschlangenverwalter wird einfach
freigegeben, um allen Verkehr auszusondern, wenn die Warteschlange überfließt. Es gibt
in diesem Schema keine Flussregelungsnachrichten, die wie im Stand
der Technik erzeugt und stromaufwärts ausgebreitet werden. Die
Größe jeder
Warteschlange wird so eingestellt, dass unter gewöhnlichen
und bis zu einem gewissen Grade ungewöhnlichen Lastbedingungen ein
angemessener Fluss ohne Datenverlust zur Verfügung gestellt wird, aber unter
extremen Bedingungen werden Daten einfach ausgesondert, bis sich
die Situation bereinigt, was die Erfinder als weniger förderlich
für einen
Datenverlust gefunden haben als die Probleme, die mit einer herkömmlichen
Flussregelung verbunden sind, die die stromaufwärts ausgebreiteten Flussreglungsnachrichten
verwendet.
-
In
einer alternativen Ausführungsform
der vorliegenden Erfindung weist jeder Warteschlangenverwalter auf
einer Karte ein Vermögen
auf, um damit zu beginnen, Pakete bei einem gewissen Schwellwert
in einem Warteschlangenaufnahmevermögen, das nicht mehr weit von
einer vollen Warteschlange entfernt ist, mit einer vorbestimmten
Rate abzulegen. In gewissen Ausführungsformen
kann der Warteschlangenverwalter weiter die Paketablegungsrate beschleunigen,
während
sich eine Warteschlange ständig über den
ersten Schwellwert anfüllt.
In diesen Ausführungsformen
wird die Häufigkeit
eines Ablegens von Paketen minimiert und über mehr Verkehr verteilt als
es der Fall sein würde,
wenn ein Ablegen von Paketen nur bei einer vollen Warteschlange
beginnen sollte, wobei alle Pakete abgelegt würden, bis die Warteschlange
damit beginnen würde,
sich zu leeren.
-
Ein
entschiedener Vorteil des Warteschlangenverwaltungsschemas der vorliegenden
Erfindung ist, dass die Intelligenz, die erforderlich ist, beträchtlich
vermindert ist und es keine künstliche
Hinzufügung
zur Verkehrsbelastung gibt, indem Flussregelungsnachrichten erzeugt
werden.
-
Es
ist für
den normalen Fachmann ersichtlich, dass die Ausführungsformen der Erfindung,
die in dieser Patentbeschreibung beschrieben sind, beispielhaft
sind, und in einer Anzahl von Weisen variieren können, ohne dass man vom Geist
und Bereich der vorliegenden Erfindung abweicht. Z. B. kann es mehr
oder weniger als neun Ports und Warteschlangenverwalter pro Karte
geben, und die Größe von jeder
Warte-schlange kann variieren.
-
Multicasting von Daten in
einer Routerfabric
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird eine Routerfabrickarte,
die der Karte von 2 oben entspricht, kraft hinzugefügter Schaltungsanordnung
zwecks Ausführung
von platineninternem und in einigen Fällen platinenexternem Multicasting
von Datenpaketen erweitert.
-
4 ist
eine Draufsicht auf eine Fabrickarte 321 eines Datenrouters
mit einem Multicastingvermögen
gemäß einer
Ausführungsform
der vorliegenden Erfindung. In dieser Ausführungsform ist eine Multicast-Fabrickarte 321 mit
einem M-Port (Multicastingport) 325 konfiguriert. Die Karte 321 weist auch
eine Mehrzahl von virtuellen Ausgabewarteschlangen auf, von denen
eine in diesem Beispiel als eine (VOQ) 329 veranschaulicht
ist. Typischerweise ist eine VOQ an jedem Port der Karte implementiert, obwohl
der Einfachheit halber nicht alle in 4 dargestellt
sind. Die Karte 321 weist auch eine Kreuzschienenschalteinrichtung 327,
die darauf implementiert ist, und neun (9) Eingangs-/Ausgangsports 323 auf,
wie sie mit Bezug auf 2 oben beschrieben wurden.
-
Der
M-Port 325 ist in dieser Ausführungsform ein hinzugefügter Eingangs-/Ausgangsport,
der in diesem Beispiel mit einem Multicastingvermögen erweitert
ist. Jeder Port 323 auf der Karte 321 ist in einer
bevorzugten Ausführungsform
ein ASIC-Chip. Jedoch
kann in gewissen Ausführungsformen
ein Chipsatz oder eine andere Implementierung verwendet werden.
Die Kreuzschienenschalteinrichtung 327 ist zur Bereitstellung
einer Schaltfunktion und Verhandlung zwischen dem Eingangs- und Ausgangsport 323 der
Karte 321 angepasst. Die integrierten Bauelemente und Einzelheiten
der Funktionalität
der Kreuzschienenschalteinrichtung 327 sind in diesem Beispiel
nicht veranschaulicht, da solche Einzelheiten für den Bereich dieser Erfindung
als nicht signifikant betrachtet werden. Es kann angenommen werden,
dass die Zusammensetzung der Routingfabric eines gegebenen Routers
in diesem Beispiel eine Mehrzahl von Karten 321 enthält.
-
Die
virtuelle Ausgabewarteschlange (VOQ) 329 ist logisch zwischen
einem von den Eingangs-/Ausgangsports 323 und der Kreuzschienenschalteinrichtung 327 veranschaulicht.
Die VOQ 329 enthält
eine Warteschlange für
jeden Ausgang (Ausgabe) auf der Karte 321, einschließlich einer
für den M-Port 325 und
einer für
das Multicastingbauelement des M-Ports 325, was in weiterer
Einzelheit unten ausgeführt
wird. Die Richtung eines Datenflusses von der VOQ 329 in
die Einrichtung 327 wird durch einen dazwischen veranschaulichten
Richtungspfeil angezeigt. In der tatsächlichen Praxis ist eine VOQ 329 für jeden
der neun Ports 323 und eine für den M-Port 325 implementiert,
die auf Eingangsverkehr bei jedem Port einwirken. Jede VOQ ist in
eine Mehrzahl von Warteschlangen aufgeteilt, die sämtliche Ausgangsziele
der Karte 321 darstellen, wie zuvor beschrieben.
-
Die
intrinsische Konstruktion der Karte 321 sieht eine Installation
von mehr als einem Multicastport (M-Port 325) auf jeder
Karte vor, jedoch ist in dieser beispielhaften Darstellung nur ein
M-Port dargestellt, und dies wird für den Zweck einer Erklärung der vorliegenden
Erfindung als ausreichend erachtet. Zusätzlich können ein oder mehrere Multicastports (325)
auf einer beliebigen Karte (321) entsprechend dem geplanten
Bedarf aktiviert oder deaktiviert werden. Deshalb können auf
einer Fabrickarte (321) mit mehreren Multicastports (325)
abhängig
von geplanter Last und Bedürfnissen des
Multicastsystems ein, zwei oder mehr Multicastports zum Dienst aktiviert werden.
Wenn es ein geplantes Volumen einer speziellen Multicastzuweisung
erfordert, können
einige oder alle Multicastports auf erweiterten Fabrickarten in
einem Router für
die Dauer der erhöhten
Last aktiviert werden. Es wird hierin angemerkt, dass nicht alle
Fabrickarten in einem Router für
ein Multicasting erweitert werden müssen, aber es kann angenommen
werden, dass eine Mehrzahl von Karten in einer Fabric eines beliebigen
Routers oder Routern (verteilt) multicasterweitert sein kann.
-
In
einer bevorzugten Ausführungsform
ist eine Multicastzuweisung so eingerichtet, dass sie sich durch
eine Fabric in einem Router fächerförmig ausbreitet,
und eine solche Zuweisung kann auch zum Kommunizieren von multicasterweiterten
Routern verteilt werden, die überall
in der Topologie eines Datennetzwerkes strategisch verteilt sind.
Auf diese Weise kann eine natürliche
Lastverteilung erzielt werden, und eine Verarbeitung wird wirkungsvoll
verteilt, statt dass das ineffiziente gegenwärtige System mehrere Kopien
an einem Ort erzeugt und dann alle durch das Netzwerk sendet. Für eine sehr
große
Zuweisung kann eine Mehrzahl von multicasterweiterten Routern zugewiesene
Teile des ganzen Projekts ausführen.
-
Nun
wieder zurück
zu 4. Datenpakete, die zum Multicasting in einem
M-Port 325 bestimmt sind, gelangen in die Karte 321,
wie durch einen Richtungspfeil angezeigt, der mit Pakete-ein bezeichnet
ist (Eingang zu einem der Ports 323). Pakete können an
einem beliebigen der Ports 323 ankommen, die durch Portpfade
mit Ausgangsports der Fabrickarte gekoppelt sind. Paket-ein stellt
Multicastdatenpakete dar, die für
den M-Port 325 bestimmt sind und für den M-Port 325 in
die VOQ 329 eingereiht werden. Es wird wieder angemerkt,
dass die VOQ 329 als ein Satz von Warteschlangen mit einem
Warteschlangenverwalter arbeitet, und die Warteschlangen sind Ausgangsports
zugeordnet. Die VOQ 329 verwaltet ankommenden Datenverkehr
und arbeitet als eine temporäre
Speicherwarteschlange mit einer Regelung zum Verwalten von Datenfluss
in der Ankunftsrichtung. Ankommender Datenverkehr wird von einem
Eingangsport der Karte 321 zu einem Ausgangsport des Knotens
geschickt, vorausgesetzt dass die Warteschlange im Pfad zwischen
Ports weniger als voll ist, wie mit Bezug auf 2 oben
beschrieben.
-
Ein
Datenpaket zum Multicasting wird durch die VOQ 329 auf
dieselbe Weise eingereiht, auf die andere Pakete eingereiht werden,
außer
dass das Warteschlangenziel der M-Port 325 ist, statt das
Ziel eines Ausgangs (alle Pakete, die als Multicastpakete gekennzeichnet
sind, werden zum M-Port gesendet). In diesem Beispiel laufen Datenpakete
zum Multicasting von der VOQ 329 durch die Kreuzschienenschalteinrichtung
und in den M-Port 325, wo die Datenpakete gemäß vorbestimmten
Anweisungen repliziert werden. In dieser beispielhaften Veranschaulichung
werden replizierte Datenpakete durch die Großbuchstaben A, B, C und D dargestellt.
Replizierte Datenpakete A-D sind bis auf die Zieladresse miteinander
identisch, die durch den M-Port 325 als ein Teil des Replikationsprozesses
entsprechend einer Information zugewiesen wird, die in einer Multicastgruppentabelle
(nicht dargestellt) gespeichert ist, die für den Multicastport zugänglich ist.
Mehr Einzelheiten über
interne Bauelemente des M-Ports 325 werden später in dieser
Beschreibung insbesondere mit Bezug auf 5 geliefert.
-
Der
M-Port 325 empfängt
die mit Ziel versehenen Datenpakete, wie durch einen Richtungspfeil veranschaulicht,
der von der Einrichtung 327 ausgeht und in Richtung auf
den Port 325 verläuft,
und repliziert das Datenpaket entsprechend Anweisungen in die Pakete
A-D. Die Replikation von ankommenden Paketen in Pakete mit vier
neuen Zielen ist nur beispielhaft, und es kann weniger oder viel
mehr Replikationen geben, als in diesem Beispiel angezeigt.
-
Der
Port 325 weist für
die Pakete A-D geeignete Zieladressen zu und reiht dann die Datenpakete in
eine Warteschlange ein, was einem Fortgang zum nächsten Punkt in ihren Zielen
dient, als ob die replizierten Datenpakete ankommende Nicht-Multicastdatenpakete
wären.
Die Pakete A-D sind hierin so dargestellt, dass sie den Port 325 zurück in die
Einrichtung 327 verlassen.
-
In
diesem Beispiel werden replizierte Pakete A, B, C und D von der
Karte 321 bei separaten Ausgangsports weggeroutet, wie
durch Richtungspfeile angezeigt, die von verschiedenen Ports 323 ausgehen,
wobei die Pfeile durch Anzeige der geeigneten Datenpakete A-D und
durch Elementziffern 331, 333, 335 bzw. 337 gekennzeichnet
sind. In diesem Beispiel führen
die Ausgangspfade 331–337,
die die Datenpakete A-D weiterleiten, zu Eingangspfaden anderer
Fabrickarten, die durch ihre neuen Ziele bestimmt sind. Andere Fabrickarten
können
wiederum eine weitere Paketreplikation liefern. Wenn die Karte 321 eine
letzte Karte vor einer Routerausgabe ist, dann werden die replizierten
Pakete zu einem nächsten
Router zur weiteren Verarbeitung geroutet, was in einigen Projekten
mehr Paketreplikation umfassen kann. Es wird hierin angemerkt, dass
es nicht erforderlich ist, dass die Pakete A, B, C und D unter Verwendung
von separaten Pfaden von der Karte 321 weggeroutet werden,
wie veranschaulicht, um die Erfindung durchzuführen.
-
In
einer Ausführungsform
könnten
alle Pakete unter Verwendung eines einzigen oder mehrerer Ports
von der Karte 321 weggeroutet werden. Die Verwendung und
Auswahl von ausgehenden Ports hängt
ganz von Zielzuweisungen der betreffenden Pakete ab. Z. B. ist es
nicht erforderlich, dass ein spezielles Multicastpaket, das ein
Replikat sein kann, zur weiteren Replikation aufeinanderfolgend
zu mehreren multicastfähigen
Ports geroutet wird. In der Tat kann eine Bezeichnung von Unicast
eine Zeitlang für ein
spezielles Paket verwendet werden, wobei bewirkt wird, dass es als
ein normales Datenpaket geroutet wird, bis es vielleicht nach einer
Leitweglenkung durch mehrere Karten in einem Router in eine Karte
gelangt, in der ein weiteres Multicasting ausgeführt wird. Bei Eintritt zur
gewünschten
Karte wird die Unicast-Bezeichnung
von dem Paketheader eines speziellen Pakets abgestreift, wobei das
Multicastziel zu einem M-Port auf der Karte offenbart wird. Ein Adressiermanipulationsvermögen kann
an einem beliebigen Eingangsport auf einer beliebigen Routerkarte
durch eine Portmanipulation von Paketheadern bewerkstelligt werden.
-
Es
ist für
einen Fachmann ersichtlich, dass die Karte 321 mehr oder
weniger Ports 323 aufweisen kann, als in diesem Beispiel
veranschaulicht sind, ohne dass man vom Geist und Bereich der vorliegenden
Erfindung abweicht. Desgleichen kann mehr als bloß ein M-Port 325,
der auf der Karte 321 integriert ist, vorhanden sein. Die
Anzahl von sowohl herkömmlichen
Ports als auch für
ein Multicasting erweiterten Ports sowie ihre Aktivitätszustände während eines
Betriebs ist Gegenstand von Konstruktion und Implementierung.
-
5 ist
eine Blockdarstellung, die verschiedene Bauelemente und Anschließbarkeiten
des M-Ports 325 von 4 in einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht. Zusätzlich zur Multicastingrolle
des M-Ports 325, wie oben beschrieben, können Datenpakete,
die nicht zum Multicasting bestimmt sind, einen Eingang/Ausgang
durch diesen Port mit Bedingungen erlangen, die dazu dienen, hereinkommende
oder herausgehende Daten während
Perioden auszuschließen,
wenn der Multicastport aktiv mit Multicasting/Replikations-Aufgaben beschäftigt ist.
In diesem Beispiel ist die Tatsache, dass normaler Verkehr den Port 325 während eines aktiven
Multicastings nicht verwenden kann, auf die Tatsache zurückzuführen, dass
in dieser Ausführungsform
Multicastpakete als ankommende Pakete in das System (Karte) rückgeschleift
werden. Jedoch können
in einer in größerem Maße erweiterten Ausführungsform
zusätzliche
Bauelemente hinzugefügt werden,
um zu ermöglichen,
dass sowohl normaler Verkehr als auch Multicastverkehr den Port 325 gleichzeitig
verwenden.
-
Der
Port 325 ist mit einem Ausgangspfad (von Kreuzschiene zum
Ausgang) und einem Eingangspfad (vom Eingang zur Kreuzschiene) veranschaulicht.
Diese Pfade umfassen die grundsätzlichen
Leitwegpfade des Ports 325 für normalen (Nicht-Multicastverkehr).
Ein Multicast (M-Cast)-Prozessor 339 ist als das replizierende
Bauelement des Ports 325 vorgesehen. Der Prozessor 339 kann
in einigen Ausführungsformen
mit Logikgrundschaltungsanordnung als ein integrierter Teil des
ASIC-Freigabeports 325 oder
als ein separater Chip implementiert sein. Es wird hierin angemerkt,
dass der Prozessor 339 mit einem Port versehen ist, um
einen Empfang von Daten sowie eine Kommunikation mit anderen Port-Prozessoren
auf einer selben Fabrickarte und auf anderen multicastfähigen Fabrickarten
zu ermöglichen.
-
Eine
Grundfunktionalität
in der vorliegenden Ausführungsform
der Erfindung umfasst ankommende Multicastpakete, die für den Port 325 bestimmt sind
(hierin als ankommende Pakete gekennzeichnet), die in den Port 325 von
der Kreuzschienenschalteinrichtung (327, 4)
gelangen und die zum Prozessor 339 durch eine Eingabeleitung 341 zur
Paketreplikation abgeliefert werden.
-
Die
als Pakete A, B, C und D gekennzeichneten Pakete, die im Prozessor 339 veranschaulicht sind,
werden durch den Prozessor 339 von einer Leitweginformation,
die in der Tabelle 349 gespeichert ist, die auch im Prozessor 339 veranschaulicht
ist, einer Zieladresszuweisung unterzogen. Die Tabelle 349 enthält eine
Liste von IP-Zielen einer Multicastgruppe für ein gegebenes Multicastprojekt.
Die Tabelle 349 wird periodisch aktualisiert und unter
aktiven Multicastports ausgebreitet, wie mit Bezug auf 4 oben
beschrieben wurde.
-
Der
Multicastprozessor 339 repliziert Datenpakete auf Grundlage
einer Anweisung, in diesem Beispiel die Pakete A-D. Es wird hierin
angemerkt, dass ein ankommendes Datenpaket, das als eine Quelle
zur Replikation dient, nach einer Replikation abgelegt werden kann
oder mit derselben oder einer neuen ihm zugewiesen Zieladresse zurückbehalten werden
kann. Genauer gesagt kann eines der Pakete A-D das Quellpaket (3
Replikationen) sein, oder alle Pakete A-D können Replikationen sein, wobei
das Quellpaket abgelegt ist (vier Replikationen). Die Beschaffenheiten
von Adressen (entnommen oder nicht) in Tabelle 349 werden
wie verwendet aktualisiert, um während
eines aktiven Multicastprojekts zu allen Ports aktuelle Information
zu liefern. Die Tabelle 349 wird an allen Multicastports
in einer Routerfabric und in einigen Fällen unter mehreren Routern
periodisch aktualisiert, damit alle Ports hinsichtlich dessen, wie
viele Replikationen von Datenpaketen erzeugt werden müssen und
welche Endziele den replizierten Paketen zugewiesen werden müssen, auf dem
Laufenden bleiben.
-
Sobald
der Prozessor 339 die Replikation und Adresszuweisung für einen
gegebenen (zugewiesenen) Teil eines Multicastprojekts beendet, werden
replizierte Datenpakete, die in diesem Beispiel als A, B, C und
D dargestellt sind, über
eine beispielhafte Leitung 343 zu dem Eingangspfad des
Ports 325 als ankommende Datenpakete übertragen. Die Pakete A-D werden
dann in geeigneten Abschnitten einer dem Port 325 zugeordneten
VOQ (nicht dargestellt) eingereiht. Die Pakete A-D gelangen schließlich in
die Kreuzschienenschalteinrichtung 327 (4)
zur Verteilung über
verschiedene Pfade entsprechend den zugewiesenen Adressen für die replizierten
Datenpakete. Es wird hierin angemerkt, dass die Taktgeschwindigkeit
des Ports 325 im Wesentlichen dieselbe wie eine beliebige
der Ports 323 (4) ist. Jedoch wird in einer
Ausführungsform
die Geschwindigkeit einer Replikation unter Verwendung einer erhöhten Taktgeschwindigkeit
für den M-Cast-Prozessor 339 über diejenige
von anderen ASIC-Bausteinen in der Fabrickarte erhöht.
-
Um
eine geeignete Verwaltung eines Datenflusses durch den Port 325 aufrechtzuerhalten,
wird ein Rückstau
(BP)-Modul 351 bereitgestellt und angepasst, um eine Eingabe
von neuen Daten in den Port 325 während einer Replizier(Multicasting)-Aktivität des Prozessors
zu verhindern. Das BP-Modul 351 bildet mit dem M-Cast-Prozessor 339 über eine Steuerleitung 345 eine
Schnittstelle, um die im Gange befindliche Aktivität des Prozessors
zu überwachen.
Wenn es bestimmt wird, dass der Prozessor 339 mit Replizieren
und Adresszuweisung von Datenpaketen während eines speziellen Multicastprojekts
voll beschäftigt
ist, setzt das BP-Modul 351 die Kreuzschienenschalteinrichtung
(327) über
eine Steuerleitung 347 davon in Kenntnis, nicht zusätzliche
neue Datenpakete zur Verarbeitung durch den Prozessor einzugeben,
bis die augenblickliche Unternehmung beendet ist.
-
Es
ist für
einen Fachmann ersichtlich, dass der Prozessor 339 eine
größere oder
geringere Anzahl von Datenpaketen replizieren kann als die Anzahl,
die in diesem Beispiel veranschaulicht ist, ohne dass man vom Geist
und Bereich der Erfindung abweicht. Die Anzahl von Paketen, die
repliziert werden, wird von einer Zuweisung von Daten bestimmt. In
einer bevorzugten Ausführungsform
empfangen alle aktiven Prozessoren während eines Projekts einen ähnlichen
Teil eines Multicastprojekts. Jedoch können in fortschrittlicheren
Ausführungsformen
vorhandene Netzwerkbelegungsbedingungen einschließlich Vorhersagealgorithmen
verwendet werden, um Multicastzuweisungen in Bezug zu Prozessoren,
Karten und selbst Routern, die beteiligt sind, zu ändern. Es
kann viele solche Ausführungsformen geben.
-
6 ist
ein Flussdiagramm, das grundlegende Schritte einer Datenpaketverarbeitung
durch die mit Bezug auf 4 beschriebene Multicast-Fabrickarte
veranschaulicht. Gemäß einer
Ausführungsform
der vorliegenden Erfindung bezeichnet Schritt 353 die Ankunft
eines zum Multicasting bestimmten Datenpakets. Das Datenpaket, das
durch einen Eingangspfad einer für
Multicast freigegebenen Karte ankommt, wird für einen M-Port, der dem Port 325 von 4 entspricht,
in eine Warteschlange eingereiht. Die Warteschlangenzuweisung beruht
auf einer Zieladressierung des ankommenden Pakets. Eine in diesem
Beispiel veranschaulichte gestrichelte Linie von Schritt 353 zu
Schritt 361 bezeichnet ein fortlaufendes Überwachen
eines Datenflusses zum Multicastingport von Schritt 353 durch
ein BP-Modul, das dem Modul 351 von 5 entspricht.
Wie mit Bezug auf 5 beschrieben, teilt das BP-Modul 351 der Kreuzschienenschalteinrichtung
(327) mit, wenn der Port 325 mit einer Paketreplikations-
und Adresszuweisungsaktivität
beschäftigt
ist.
-
Bei
Schritt 355 repliziert der Multicastprozessor im Port von
Schritt 353 das Paket die notwendige Anzahl von Malen und
weist Zieladressen gemäß einer
Multicastgruppentabelle, die der Tabelle 349 von 5 entspricht,
zu.
-
In
Schritt 357 reiht der Multicastport von Schritt 353 jedes
replizierte Paket entsprechend einem Ziel in eine VOQ, die der Warteschlange 329 von 4 entspricht,
ein. Eine solche VOQ ist an jedem Eingangs-/Ausgangsport einer Fabrickarte
vorhanden. Jedes in eine Warteschlange eingereihte Paket hält sich
in einer Warteschlange entsprechend seiner zugewiesenen Zieladresse
zum Austritt aus einer Multicastkarte auf. In Schritt 359 wird
jedes Paket von der Fabrickarte entlang einem vorbestimmten Pfad
zu seinem zugewiesenen Ziel zur weiteren Verarbeitung geroutet,
wie für
ein gegebenes Multitaskprojekt benötigt. In einigen Fällen führt das
Ziel zu einem Eingang an einem Port auf einer anderen Multicastkarte.
In einigen Fällen
ist eine nächste
Karte keine Multicastkarte. In einigen Fällen erfolgt ein Ausgang zu
einem nächsten
Router oder zu einem IP-Endziel.
-
Es
ist für
einen Fachmann ersichtlich, dass die Prozessschritte, die in diesem
Beispiel veranschaulicht sind, weiter in Unterschritte zerlegt werden können, ohne
dass man vom Geist und Bereich der vorliegenden Erfindung abweicht.
Z. B. kann ein Unterschritt zur Aktualisierung einer Multicastgruppentabelle
vor Schritt 355 eingeschlossen werden. Es ist für einen
Fachmann auch ersichtlich, dass die Ausführungsformen der Erfindung,
die in dieser Beschreibung beschrieben sind, beispielhaft sind und
in einer Anzahl von Weisen oder Konfigurationen variieren können, ohne
dass man vom Geist und Bereich der vorliegenden Erfindung abweicht.
Z. B. kann eine Fabrickarte mehr oder weniger als neun Ports enthalten,
und ein beliebiger oder sämtliche
Ports können Multicastingports
sein. Desgleichen kann in einigen Ausführungsformen die Taktgeschwindigkeit
von eingeschlossenen Multicastingports abhängig von der Last einer Datenpaketübertragung
variiert werden und auswählbar
sein, wie zuvor beschrieben.
-
Gemäß einer
alternativen Ausführungsform kann
eine Multicastingkarte mit einem Multicastingport einer Fabrickarte
verbunden sein, wobei die Multicastingkarte als eine externe Hinzufügung bereitgestellt
ist. In diesem Fall treten Datenpakete zum Multicasting aus der
Fabrickarte in die Multicastingkarte ein, wo die Replikation und
Zielzuweisungen vorgenommen werden, treten dann aus der Multicastingkarte
zurück
in die Fabrickarte zur Umleitung entsprechend den neuzugewiesen
Adressen. In einigen Fällen
kann unter Verwendung eines externen Ports der Ausgang des Ports
mit einer nächsten
Karte mit einem dedizierten Multicasteingangsport gekoppelt sein.
-
Die
vorliegende Erfindung kann in den verschiedensten Konfigurationen
von miteinander verbundenen Fabrickarten implementiert sein, und
Router, die erweitert sind, um die Erfindung durchzuführen, können in
einer gegebenen Netzwerktopologie geographisch verteilt sein, um
ein Multicastingvermögen überall in
der Topologie zu verbessern. Ein Fachmann erkennt, dass ein Multicastingwirkungsgrad proportional
mit einer enormen Rate in die Höhe schnellt,
während
zusätzliche
Karten und Ports zu einzelnen Routern hinzugefügt werden und während ähnlich erweiterte
Router in einem Multicastgebiet verteilt werden.
-
Es
kann auch viele andere Änderungen
im Bereich der Erfindung geben, und der Bereich der Erfindung ist
nur durch die Ansprüche,
die folgen, beschränkt.