-
Diese Anmeldung ist eine Continuation-in-part-Anmeldung
der gemeinschaftlich übertragenen,
gleichzeitig anhängigen
Anmeldung Nr. 08/915,919 mit dem Titel Circuits and Methods for
a Ring Network, die am 21. August 1997 eingereicht wurde.
-
Diese Anmeldung ist mit den folgenden
weiteren gemeinschaftlich übertragenen,
gleichzeitig anhängigen
Anmeldungen verwandt:
-
Am 21. November 1997 eingereichte
Anmeldung Nr. 08/975,735 mit dem Titel System and Methods for Modifying
and Information Signal In a Telcommunications System.
-
Am 21. August 1998 eingereichte Anmeldung
Nr. 09/138,332 mit dem Titel Transport of Digitized Signals Over
a Ring Network.
-
Am 21. August 1998 eingereichte Anmeldung
Nr. 09/137,722 mit dem Titel Control Data Over a Ring Network.
-
Am 21. August 1998 eingereichte Anmeldung
Nr. 09/137,721 mit dem Titel Internet Access Over a Ring Network.
-
Technisches
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft
allgemein das Gebiet der Nachrichtenübertragung und insbesondere Schaltkreise
und Verfahren für
ein Telekommunikationsnetzwerk mit variablem Lernen von Adressen,
Vermitteln und Leiten über
Ringnetzwerke ohne Verwendung eines Token oder von Einkapselung
(engl.: encapsulation).
-
Hintergrund
der Erfindung
-
Computernetzwerke sind in großen und
kleinen Unternehmen, Universitäten
und anderen Organisationen etwas Alltägliches geworden. Solche Netzwerke
ermöglichen
einer Anzahl Benutzern, Daten und Ressourcen, wie z. B. Datenspeichersysteme,
Fileserver, Schalter, Router, Drucker, Modems und andere Peripheriegeräte gemeinsam
zu nutzen. Es gibt drei grundlegende Protokolltypen zum Übertragen
von Daten in diesen Netzwerken, die veranschaulicht sind durch:
Ethernet, Token-Ring oder faserverteilte Datenschnittstelle (FDDI; engl.:
Fiber Distributed Data Interface; Protokoll für hohe Übertragungsgeschwindigkeiten)
und Einkapselung. Jedes dieser Netzwerkprotokolle hat Vorteile und
Nachteile, die hier kurz in Abschnitt I des Hintergrunds der Erfindung
dargestellt sind, um die Lehren der vorliegenden Erfindung besser
zu verstehen. Ferner sind herkömmliche
Ethernet-Protokolle in Ab schnitt II beschrieben. Schließlich sind
Aspekte herkömmlicher
Ethernet-Schalter, die die Eignung derartiger Schalter einschränken, in
einem Ringnetzwerk konfiguriert zu werden, in Teil III beschrieben.
-
I. Netzwerkprotokolle
-
Ethernet, das vollständiger unten
beschrieben ist, ist im Grunde ein Broadcast-Protokoll. Sein Hauptvorteil
ist seine Einfachheit. Dies ermöglicht
es, Ethernet mit weniger kostspieliger Hardware und Software zu implementieren.
Der Hauptnachteil bei herkömmlichem
Ethernet besteht darin, dass es bedeutsame Einschränkungen
der physikalischen Entfernung gibt, die das Netzwerk abdecken kann.
Herkömmlicherweise
ist ferner die Bandbreite eines Ethernet-Netzwerks größer, je näher man sich zu dem Mittelpunkt
des Netzwerks befindet.
-
Token-Ring und FDDI, wie in den Computerindustriestandards
IEEE-802.5 bzw. ANSI XT3.9 beschrieben, sorgen für den charakteristischen Vorteil,
dass, verglichen mit herkömmlichem
Ethernet, Daten über
viel größere Entfernungen übertragen
werden können.
Ferner stellen Token-Ring und FDDI im gesamten Netzwerk eine nahezu
gleiche Bandbreite bereit. Der größte Nachteil von Token-Ring
und FDDI besteht in deren komplexen Protokollen, die die Ausrüstung deutlich
kostspieliger als Ethernet-Ausrüstung
machen. Diese komplexen Protokolle sind aufgrund der Weise erforderlich,
in der Pakete in Token-Ring- und FDDI-Netzwerken übertragen
werden. Die Protokolle hängen
von der Verwendung eines "Token" ab. Dieses Token
wird durch das Netzwerk so weitergeleitet, dass lediglich die Netzwerkeinheit
oder -einheiten, die im Besitz eines Token sind, Daten in dem Netzwerk übertragen
können.
Wenn ein Token beschädigt
ist, sind die Netzwerkelemente nicht in der Lage, Pakete in dem
Netzwerk zu übertragen.
In einigen Fällen
kann dies einige Sekunden dauern. Um dieses Problem auszugleichen,
sind komplexe Protokolle entwickelt worden, die es den Netzwerkelementen möglich machen,
zu ermitteln, wann ein Token verloren wurde, und ein neues Token
zu erzeugen. Die enorme Menge an zum Implementieren dieser Protokolle
erforderlichen, logischen Schaltkreisanordnungen machen Token-Ring-
und FDDI-Netzwerke verglichen mit Ethernet-Netzwerken teuer, zu
implementieren und in Stand zu halten.
-
Schließlich sind Einkapselungsprotokolle
entwickelt worden, um es zu ermöglichen,
Ethernet-Pakete über größere Entfernungen
zu übertragen.
Bei solchen Protokollen wird das gesamte Ethernet-Paket in einem anderen
Pakettyp mit seinem eigenen Header angeordnet, der zusätzliche
Adressinformationen, Protokollinformationen etc. aufweist. Diese
Protokolle leiden typischerweise auch unter dem Problem, dass sie
spezielle höherwertige
Protokollinformationen erfordern können, die in das Datenfeld
der Ethernet-Pakete aufgenommen werden müssen, um Router in dem Netzwerk
zu steuern, wodurch die Datenpakettypen, die bearbeitet werden können, eingeschränkt werden
und eine bedeutsame Verarbeitungsbelastung sowohl den die Pakete erzeugenden
Netzwerkvorrichtungen als auch den Routern auferlegt wird, die verwendet
werden, um die Pakete zwischen den verschiedenen Ethernet-Netzwerken
zu übertragen
und zu empfangen. Diese zusätzlichen Protokollelemente
und Einschränkungen
erfordern typischerweise teure Hardware und Software, die einem ansonsten
nicht teuren Ethernet-Netzwerk hinzuzufügen sind. Ferner erfordern
solche Protokolle typischerweise die Verwendung manuell erzeugter
Adresstabellen für
die Router.
-
II. Ethernet
-
Ethernet ist zu einem üblichen
Protokoll für
lokale Bereichsnetzwerke geworden und wird aufgrund der oben beschriebenen
Vorteile in hohem Maße
genutzt. Im Sinne dieser Beschreibung umfasst der Begriff "Ethernet" die gesamte Klasse
von Protokollen für
Mehrfachzugriff mit Übertragungsprüfung/Kollosionserkennung
(CSMA/CD; engl.: Carrier Sense Multiple Access/Collision Detection),
die von der Familie von Computerindustriestandards abgedeckt sind,
die verschiedentlich als IEEE-802.3 und ISO 8802/3 bekannt sind.
Dies umfasst, ist aber nicht beschränkt auf 1 Megabit Ethernet,
das als "StarLAN" bekannt ist, 10
Megabit Ethernet, 100 Megabit Ethernet, das als "Fast Ethernet" bekannt ist, 1 Gigabit Ethernet, das
als "Gigabit Ethernet" bekannt ist, und
beliebige zukünftige
CSMA/CD-Protokolle bei beliebigen anderen Datenraten.
-
Ursprünglich wurde Ethernet als Halb-Duplex-Broadcastsystem
mit einem Datenbus ausgelegt, der Datenpakete bei einer Rate von
näherungsweise
10 Megabit pro Sekunde zu und von Endgeräten überträgt. Jedes mit einem Ethernet
verbundene Endgerät
kann entweder zu allen anderen Endgeräten in dem Netzwerk übertragen
oder von diesen empfangen ("Mehrfachzugriff", das "MA" in CSMA/CD), kann
bei dem ursprünglichen
Ethernet aber nicht gleichzeitig senden und empfangen. Ferner wurde
Ethernet als Netzwerk ohne zentrale Steuerung darüber ausgelegt,
welches Endgerät
bei einem vorgegebenen Zeitpunkt Zugriff auf den Datenbus hat. Ethernet
basierte auf dem wahrscheinlichkeitstheoretischen Prinzip, dass
zwei Endgeräte
selten gleichzeitig senden und dass jedes Endgerät zuerst dem Bus "zuhört", um herauszufinden,
ob ein anderes Endgerät
bereits sendet ("Übertragungsprüfung", das "CS" in CSMA/CD). Dies
steht im Gegensatz zu Token-Ring- und FDDI-Systemen, wo eine deterministische
Steuerung durch Token und ATM-(asynchroner Übertragungsmodus)-Netzwerke
und Router ausgeübt
wird, wobei eine zentrale deterministische Steuerung entweder von
einem ATM-Schalter oder den Routern über spezielle Protokolle zwischen
Routern durchgeführt wird.
-
Wenn zwei Endgeräte versuchen, gleichzeitig
zu senden, gibt es eine Kollision. Die Endgeräte, die involviert sind, erkennen
die Kollision ("Kollisionserkennung", das "CD" in CSMA/CD), indem
der Datenbus nach einer Übertragung
hinsichtlich eines Kollisionssignals oder beschädigter Datenpakete auf dem
Bus überwacht wird.
Damit alle Endgeräte,
die gesendet haben, erkennen, dass eine Kollision vorliegt, müssen alle
Endgeräte alle
Pakete und beteiligte Kolli sionssignale empfangen. Daher kann das
Netzwerk nicht größer als
die Entfernung sein, die das kleinste Paket vom Anfang bis zum Ende
abdeckt. Bei 10 Megabit pro Sekunde benötigt ein 64 Byte Paket, das
kleinste Ethernet-Paket, 51,2 Mikrosekunden vom Anfang bis zum Ende.
Daher kann ein lokales Bereichsnetzwerk nicht größer als der Abstand sein, den
ein Paket in 25,6 Mikrosekunden einschließlich aller Laufzeitverzögerungen
von Ausrüstung
in dem Netzwerk zurücklegt.
Bei 100 Megabit pro Sekunde benötigt
ein 64 Byte Paket 5,12 Mikrosekunden vom Anfang bis zum Ende. Daher
kann ein lokales Bereichsnetzwerk nicht größer als der Abstand sein, den
das Paket in 2,56 Mikrosekunden einschließlich aller Laufzeitverzögerungen
der Ausrüstung
zurücklegt.
Wenn die Kollision erkannt ist, wartet jedes Endgerät eine zufällige Zeitdauer,
bevor es versucht, sein Paket erneut zu senden, um so weitere Kollisionen
in dem Netzwerk zu vermeiden. Dies steht im Gegensatz zu Token-Ring,
FDDI, ATM und Routern, die aufgrund der zentralisierten deterministischen
Steuerung, die durch die Verwendung von Token und zusätzlichen
Protokollen ausgeführt
wird, keine Kollisionen zulassen und daher Daten über viel
größere Entfernungen übertragen
können.
-
Wie alle anderen Netzwerkprotokolle überträgt Ethernet
in Paketen. Diese Datenpakete weisen eine Herkunftsadresse, eine
Zieladresse, die übertragenen
Daten und eine Reihe von Datenintegritätsbits auf, die üblicherweise
als zyklische Redundanzprüfung
(Prüfungsverfahren
zur Erkennung von Datenübertragungsfehlern,
zyklische Blockprüfung)
oder CRC (engl.: cyclical redundancy check) bezeichnet werden. Die
Herkunftsadresse identifiziert die Vorrichtung, die das Paket erzeugt
hat, und die Zieladresse identifiziert die Vorrichtung, zu der das
Paket über
das Netzwerk zu übertragen
ist.
-
Voll-Duplex-Ethernet wurde vor Kürzerem entwickelt,
um die zeitlichen Einschränkungen
des Halb-Duplex-Ethernet durch getrennte Sende- und Empfangskanäle zwischen
zwei Endgeräten
zu beseitigen. Da der Sendekanal lediglich zu einem einzelnen Empfänger überträgt, der
niemals Übertragungen
von einem anderen Sender erhält,
kann auf diese Weise dort niemals eine Kollision vorliegen. Voll-Duplex-Ethernet
erfordert es, dass jede Ethernet-Vorrichtung zusätzliche Pufferspeicher und
Logik aufweist, um gleichzeitig Sendepakete und Empfangspakete zu
speichern. Der klassische Ethernet-Hub mit mehreren Anschlüssen, der
Pakete zu anderen Schaltern oder Endgeräten übertragen und von diesen empfangen
kann, kann Voll-Duplex-Ethernet nicht
durchführen.
Die ursprünglichen
Ethernet-Schalter waren also nicht in der Lage, Voll-Duplex-Ethernet durchzuführen, aber
die neuesten Ethernet-Schalter auf dem Markt weisen die zusätzlichen
Pufferspeicher und Logik auf, die an einem oder mehreren ihrer Ethernet-Anschlüsse verfügbar sind,
um es zu ermöglichen, dass
einer oder mehrere dieser Anschlüsse
im Voll-Duplex-Modus betrieben werden.
-
Um Datenpakete von einem Eingangsanschluss
zu einem spezifizierten Endgerät
zu vermitteln, muss der Ethernet-Schalter wissen, welcher Anschluss
an dem Schalter mit einem Weg zu dem Endgerät verbunden ist. Ein Ethernet-Schalter üblicher
Weise "lernt selbst" die Iden tität der Endgeräte, die
mit jedem Anschluss des Schalters verbunden oder diesem zugeordnet
sind. Jeder Schalteranschluss zeichnet die Herkunftsadresse jedes
Pakets in einer Speichertabelle für diesen Anschluss auf, wenn
er das Paket empfängt.
Selbstlernende Schalter sind beispielsweise in Bucci, G. et al. "Performence Analysis
of two Different Algorithms for Ethernet-FDDI Interconnection", IEEE Transaction
on Parallel and Distribution Systems, US, IEEE New York, Band 5,
Nr. 6, 1. Juni 1994, Seiten 614–629
offenbart.
-
Des Weiteren wird die Zieladresse
des Pakets mit den Speichertabellen für die anderen Anschlüsse des
Schalters verglichen, wenn ein Paket an einem Anschluss des Schalters
empfangen wird. Wenn eine Übereinstimmung
für die
Zieladresse in den Tabellen für
einen der Anschlüsse
ermittelt wird, wird das Paket zu diesem Anschluss vermittelt und
aus diesem versendet. Wenn jedoch das Paket ein "Broadcast-Paket" ist, d. h. Eines, das die hexadezimale
Zieladresse FFFFFF aufweist, wird das Paket zu den anderen Anschlüssen des
Schalters per Broadcast übertragen,
aber niemals zurück
zu dem ursprünglich
empfangenen Anschluss. Wenn keine Übereinstimmung hinsichtlich
einer Nicht-Broadcast- oder Uni-Cast-Zieladresse vorliegt, kann der Schalter
außerdem
davon ausgehen, dass dies das erste Paket ist, das durch diesen
Schalter zu einem neuen Endgerät
geht. Da die Stelle des Endgeräts
unbekannt ist, kann das Paket zu den anderen Anschlüssen des Schalters
per Broadcast übertragen
werden, aber niemals zurück
zu dem ursprünglich
empfangenen Anschluss. In vergleichbarer Weise können "Multicast"-Pakete vorliegen, wobei eine speziell
reservierte Zieladresse verwendet wird. Derartige Pakete werden
zu einer ausgewählten
Gruppe von Vorrichtungen per Broadcast übertragen.
-
Auch wenn es keinen Teil des Ethernet-Protokolls,
aber von im Allgemeinen verwendeten höherwertigen Protokollen (z.
B. TCP/IP) darstellt, antwortet die Zielvorrichtung normalerweise
mit einem Empfangsbestätigungspaket
zurück
zu dem Schalter, der das Paket per Broadcast übertragen hat, wenn das Broadcast- oder
Uni-Cast-Patentanspruchket an seinem vorgesehenen Ziel ankommt.
Wenn das Empfangsbestätigungspaket
an dem Schalter ankommt, trägt
der Schalter die Herkunftsadresse des Empfangsbestätigungspakets des
Zielendgeräts
in die Speichertabelle für
diesen Anschluss ein, um so die Zuordnung des Zielendgeräts mit dem
Anschluss in den Schaltern aufzuzeichnen. Auf diese Weise werden
zu dieser Station gesendete, nachfolgende Pakete zu dem korrekten
Anschluss des Schalters vermittelt.
-
III. Probleme bei einem
unidirektionalen Ring herkömmlicher
Ethernet-Schalter
-
Herkömmliche Ethernet-Schalter können wie
alle andere Ethernet-Vorrichtungen nicht zu einem unidirektionalen
Ringnetzwerk konfiguriert werden. Man könnte sich eine mögliche Konfiguration
vorstellen, bei der jeder Schalter einen Anschluss zum Empfang von
Paketen von dem Ring (der "Ring-Eingangsanschluss"), einen Anschluss,
um Pakete auf dem Ring anzu ordnen (der "Ring-Ausgangsanschluss"), und einen oder
mehrere lokale Anschlüsse
verwenden würde,
die mit lokalen Bereichsnetzwerken verbunden sind. Diese Konfiguration
würde zu
wenigstens zwei Problemen führen,
wenn herkömmliche
Ethernet-Schalter verwendet werden.
-
Zuerst einmal wird sich ein Ethernet-Paket
mit einer Broadcast-Adresse, einer Multicast-Adresse oder einer ungültigen Adresse,
z. B. für
ein nicht dem Ringnetzwerk zugeordnetes Endgerät, auf undefinierte Weise um
das Ringnetzwerk aufgrund der Weise bewegen, in der die Ethernet-Schalter
Pakete mit unbekannten Zieladressen behandeln. Wenn ein herkömmlicher
Ethernet-Schalter die Zieladresse eines Pakets in einer Tabelle für einen
Anschluss des Schalters nicht findet, wird, wie oben beschrieben,
das Paket aus jedem Anschluss des Schalters einschließlich des
Ring-Ausgangsanschlusses per Broadcast übertragen. Da die Adresse ungültig ist,
wird jeder Schalter in dem Ringnetzwerk wiederum das Paket aus seinem
Ring-Ausgangsanschluss per Broadcast übertragen. Folglich wird sich
das Paket auf undefinierte Weise um das Ringnetzwerk bewegen.
-
Ferner werden bei einem derartigen,
unidirektionalen Ringnetzwerk die Schalter versuchen, einige Pakete
aus dem Ring-Einganganschluss des Schalters zu übertragen. Wie oben beschrieben,
verwendet ein herkömmlicher
Ethernet-Schalter die Herkunftsadresse des an einem Anschluss empfangenden
Pakets, um eine Tabelle für
den Anschluss aufzubauen. Diese Tabelle gibt dem Schalter die Endgeräte an, die über den
Anschluss erreicht werden können.
Wenn bei einem unidirektionalen Ringnetzwerk ein Paket über den
Ring-Eingangsanschluss in einen Schalter gelangt, setzt der Schalter
das Endgerät,
das das Paket gesendet hat, z. B. Vorrichtung A, mit dem Ring-Eingangsanschluss
in Beziehung. Wenn der Schalter von einem lokalen Anschluss, der
für die
Vorrichtung A bestimmt ist, ein Paket erhält, versucht der Schalter folglich,
das Paket aus dem lediglich zum Empfang vorgesehenen Ring-Eingangsanschluss
zu übertragen,
anstatt es aus dem Ring-Ausgangsanschluss zu senden.
-
Alternativ könnte man versuchen, Schalter
in einem unidirektionalen Ring unter Verwendung eines Anschlusses
pro Schalter zu verbinden. Bei dieser Konfiguration würde der
Empfangsschaltkreis eines Voll-Duplex-Ethernet-Anschlusses angeschlossen
sein, um Pakete von dem Ring zu empfangen, und der Sendeschaltkreis
des gleichen Voll-Duplex-Ethernet-Anschlusses würde angeschlossen sein, um
Pakete längs
des Rings zu dem nächsten
Schalter zu senden. Dies steht jedoch mit einer der grundlegenden
Ethernet-Regeln in Konflikt: Wenn eine Zieladresse eines an einem
Anschluss empfangenen Pakets die gleiche wie eine Herkunftsadresse
in der Tabelle für
diesen Anschluss ist, wird das Paket fallengelassen. Dies wird als "Zieladressfilter"-Regel (engl.: "Destination Address
Filtering") bezeichnet.
Die Anwendung der Zieladressfilter-Regel bei einem Ring herkömmlicher
Ethernet-Schalter wie gerade beschrieben würde bedeuten, dass, sobald
der Anschluss des Schalters alle Herkunftsadressen der anderen Endgeräte auf dem
Ring gelernt hat, kein Paket, das von einem vorherigen Schalter in
dem Ring stammt und für
einen nachfolgenden Schalter in dem Ring bestimmt ist, in den Schalter
würde gelangen
dürfen,
so dass es längs
des Rings zu dem nächsten
Schalter weitergeleitet werden könnte.
Außerdem
würde eine
zweite grundlegende Ethernet-Regel, dass kein Paket jemals aus dem
Anschluss heraus übertragen
wird, von dem es empfangen wurde, bedeuten, dass, auch wenn das
Paket von dem vorherigen Schalter in der Lage war, in den Empfangsschaltkreis
zu gelangen, es niemals aus diesem Anschluss zurück auf den Ring übertragen
würde,
um zu dem nachfolgenden Schalter zu gehen. Es sei hier angemerkt,
dass ein Ausprobieren jedes dieser Ansätze mit einem herkömmlichen
Ethernet-Hub zu all den gleichen Problemen und Weiteren führt, da
die Hubauslegung jedes Paket ständig
an alle Empfänger per
Broadcast überträgt.
-
Einige Unternehmen haben versucht,
diese Probleme zu umgehen, indem Ethernet-Pakete zur Übertragung
eingekapselt werden, wobei unterschiedliche maßgeschneiderter Protokolle
verwendet werden. Diese Verfahren fügen der Ausrüstung, insbesondere
beim Emulieren von Token-Ring- oder FDDI-Netzwenken, bedeutsame
Komplikationen und daher wesentliche Kosten hinzu. Außerdem verlieren
diese Verfahren viele der Vorteile eines Ethernet-Systems. Das üblicherere
Verfahren, Ethernet-LANs in einem Ring zu verwinden, besteht darin,
Router zu verwenden, die Ethernet-Pakete in Token-Ring-, FDDI- oder
andere ringorientierte Pakete umwandeln. Dieses Verfahren kann sowohl
ein Einkapseln des Ethernet-Pakets in einen anderen Pakettyp als
auch mit sich bringen, spezielle höherwertige Protokollinformationen
in das Datenfeld des Ethernet-Pakets aufzunehmen, um den Router
zu steuern, und von dem Benutzer derartiger Ausrüstung fordern, die Weiterleitungsadresstabellen
manuell zu programmieren.
-
Aus den oben genannten Gründen und
aus weiteren, unten genannten Gründen,
die Fachleuten auf dem Gebiet beim Lesen und Verstehen der vorliegenden
Beschreibung ersichtlich werden, besteht auf dem Gebiet Bedarf nach
einem Ringnetzwerk, das hinsichtlich der in Datenpaketen enthaltenen
Daten und Protokollen transparent ist, die Standorte aller Vorrichtungen
ohne manuellen Eingriff selbst erlernt, einfach und mit niedrigen
Kosten zu implementieren ist.
-
Zusammenfassung
der Erfindung
-
Die oben genannten Probleme bei Ringnetzwerken
und weitere Probleme werden von der vorliegenden Erfindung behandelt
und werden durch Lesen und Studium der folgenden Beschreibung verstanden.
Es sind Systeme und Verfahren beschrieben, die bei einem Ringnetzwerk
verwendet werden. Vorteilhafterweise ermöglichen es die Ringnetzwerke
einem Systemplaner, eine jeder Vorrichtung in dem Netzwerk zugeordnete Identifizierung
auszuwählen,
die als Basis zum Vermitteln in dem Ringnetzwerk zu verwenden ist.
Diese Identifizierung wird auch verwendet, um zu verhindern, dass
sich Pakete um das Netzwerk in unde finierter Weise bewegen. Die
Identifizierung wird auch von den Ringschaltern verwendet, um den
Standort der Vorrichtung in dem Netzwerk selbst zu erlernen. Viele
unterschiedliche Signale können
für die
Identifizierung verwendet werden. Beispielsweise eine Medienzugriffssteuer-(MAC;
engl.: media access control)-Adresse eines Ethernet-Pakets, eine
Internet-Protokoll-(IP)-Adresse, wenigstens ein Teil einer hierarchischen
Adresse, eine Anschlussnummer eines universellen Datagrammprotokolls,
eine Kombination von zwei oder mehreren Identifizierungen auf den
gleichen oder unterschiedlichen Protokollebenen für das Datenpaket
oder andere geeignete Identifizierungen.
-
Insbesondere ist bei einer Ausführungsform
ein Ringnetzwerk zum Transportieren von Datenpaketen zwischen Netzwerkvorrichtungen
bereitgestellt. Das Ringnetzwerk weist eine Anzahl von Ringschaltern
auf. Jeder Ringschalter weist wenigstens einen Ringanschluss, wenigstens
einen lokalen Anschluss und wenigstens eine Tabelle auf, die basierend
auf einer ausgewählten
Herkunftsidentifizierung, der durch den Ringschalter verarbeiteten
Pakete selbst lernt, welche Netzwerkvorrichtungen jedem Anschluss
des Ringschalters zugeordnet sind. Die ausgewählte Herkunftsidentifizierung
kann beispielsweise eine Media-Access-Control-(MAC)-Adresse eines Ethernet-Pakets,
eine Internet-Protokoll-(IP)-Adresse, wenigstens ein Teil einer
hierarchischen Adresse, eine Anschlussnummer eines universellen
Datagrammprotokolls, eine Kombination von zwei oder mehreren Identifizierungen
auf den gleichen oder unterschiedlichen Protokollebenen für das Datenpaket
oder eine andere geeignete Identifizierung sein. Der wenigstens
eine Ringanschluss jedes Ringschalters ist mit einem Ringanschluss
eines anderen Ringschalters in dem Ringnetzwerk verbunden. Der Ringschalter vermittelt
Datenpakete zwischen seinen Ring- und lokalen Anschlüssen, um
die Datenpakete zu bestimmten Netzwerkvorrichtungen zu leiten, die
dem wenigstens einen lokalen Anschluss der Ringschalter in dem Ringnetzwerk
zugeordnet sind. Die Anschlüsse
der Ringschalter sind so konfiguriert, dass an dem wenigstens einen
Ringanschluss und dem wenigstens einen lokalen Anschluss empfangene
Datenpakete, die nicht für
eine Netzwerkvorrichtung bestimmt sind, die dem wenigstens einen
lokalen Anschluss des Ringschalters zugeordnet ist, basierend auf
der wenigstens einen Tabelle ohne Verwendung eines Token oder das
Paket einzukapseln zu einem anderen Ringschalter in dem Ringnetzwerk
vermittelt werden.
-
Bei einer anderen Ausführungsform
ist ein Ringschalter für
ein Ringnetzwerk bereitgestellt. Der Ringschalter weist wenigstens
einen Ringanschluss auf, der angeschlossen werden kann, um Datenpakete
in einem Ringnetzwerk zu transportieren. Der Ringschalter weist
auch wenigstens einen lokalen Anschluss auf, der mit wenigstens
einem lokalen Bereichsnetzwerk oder einer Vorrichtung verbunden
werden kann. Der Ringschalter weist ferner wenigstens eine Tabelle
auf, die die Identifizierungen der Netzwerkvorrichtungen verfolgt, die
jedem Anschluss des Ringschalters zugeordnet sind, basierend auf
einer ausgewählten
Herkunftsidentifizierung von an den Anschlüssen des Ringschalters empfangenen
Datenpaketen. An dem wenigstens einen Ringanschluss empfangene Datenpakete,
die nicht für
eine Netzwerkvorrichtung bestimmt sind, die einem des wenigstens
einen lokalen Anschlusses des Ringschalters zugeordnet ist, werden
basierend auf der wenigstens eine Tabelle ohne Verwendung eines
Token oder das Paket einzukapseln zu einem anderen, mit dem wenigstens
einen Ringanschluss verbundenen Ringschalter vermittelt.
-
Bei einer anderen Ausführungsform
ist ein Ringschalter für
ein Ringnetzwerk bereitgestellt. Der Ringschalter weist einen bidirektionalen
Ringanschluss auf, der angeschlossen werden kann, um Datenpakete
von einem Ring von Ringschaltern zu empfangen und Datenpakete über diesen
zu übertragen.
Der Ringschalter weist wenigstens einen lokalen Anschluss auf, der
mit wenigstens einem lokalen Bereichsnetzwerk verbunden werden kann.
Der Ringschalter weist auch wenigstens eine Tabelle auf, die die
Identifizierungen von Netzwerkvorrichtungen selbst lernt und speichert,
die dem wenigstens bidirektionalen Ringanschluss und dem wenigstens
einen lokalen Anschluss zugeordnet sind, basierend auf einer ausgewählten Herkunftsidentifizierung
von von dem Ringschalter verarbeiteten Datenpaketen. Der Ringschalter
ermöglicht
es, an dem Ringanschluss empfangene Datenpakete hinaus aus dem lokalen
Anschluss und/oder dem Ringanschluss zurück zu übertragen, so dass basierend
auf der Zielidentifizierung und der wenigstens einen Tabelle ohne
Verwendung eines Token oder Einkapseln des Pakets Datenpakete zu
Vorrichtungen an diesem oder anderen Ringschaltern in dem Ringnetzwerk
weitergeleitet werden können.
Der Ringschalter weist auch einen dem bidirektionalen Ringanschluss
zugeordneten Schaltkreis auf, der eingehende Datenpakete, die eine
Herkunftsidentifizierung aufweisen, die einer dem wenigstens einen
lokalen Anschluss des Schalters zugeordneten Netzwerkvorrichtung entspricht,
entfernt.
-
Bei einer anderen Ausführungsform
ist ein Ringschalter für
ein Ringnetzwerk bereitgestellt. Der Ringschalter weist einen Ring-Eingangsanschluss
auf, der angeschlossen werden kann, um Datenpakete von dem Ringnetzwerk
zu empfangen. Der Ringschalter weist ferner einen Ring-Ausgangsanschluss
auf, der angeschlossen werden kann, um dem Ringnetzwerk Datenpakete
bereitzustellen. Auch ist wenigstens ein lokaler Anschluss vorgesehen.
Der wenigstens eine lokale Anschluss kann mit einem lokalen Bereichsnetzwerk
verbunden werden. Der Ringschalter weist ferner wenigstens eine
Tabelle auf, um eine ausgewählte
Identifizierung von den Anschlüssen
des Ringschalters zugeordneten Netzwerkvorrichtungen zu verfolgen.
Die Tabelle ordnet die ausgewählte
Identifizierung von Netzwerkvorrichtungen dem Ring-Ausgangsanschluss
zu, wenn Datenpakete an dem Ring-Eingangsanschluss empfangen werden.
-
Bei einer anderen Ausführungsform
ist ein Verfahren zum Aufbau einer Tabelle für einen Anschluss eines Ringschalters
in einem Ringnetzwerk bereitgestellt. Das Verfahren umfasst, Datenpakete
an einen ersten Anschluss des Ringschalters zu empfangen. Das Verfahren
umfasst ferner, eine ausgewählte
Herkunftsidentifizierung aus dem Datenpaket auszulesen. Das Verfahren
speichert die Herkunftsidentifizierung in einer Tabelle für den Ringschalter,
die angibt, Datenpakete von einer Netzwerkvorrichtung stammt, die
einem zweiten, anderen Anschluss des Schalters zugeordnet ist, stammt,
um eine unidirektionale Übertragung
auf dem Ringnetzwerk zu ermöglichen.
-
Bei einer anderen Ausführungsform
ist ein Verfahren zum Entfernen von Datenpaketen von einem Ringnetzwerk
bereitgestellt. Das Verfahren umfasst, ein Datenpaket an einem Ringanschluss
eines Ringschalters des Ringnetzwerks zu empfangen. Das Verfahren
liest eine ausgewählte
Herkunftsidentifizierung aus dem Datenpaket aus und vergleicht die
Herkunftsidentifizierung mit der wenigstens einen Tabelle des Ringschalters.
Die wenigstens eine Tabelle gibt an, welche Identifizierungen jedem
Anschluss des Schalters zugeordnet sind. Wenn die Herkunftsidentifizierung
einer Netzwerkvorrichtung entspricht, die einem lokalen Anschluss
des Schalters zugeordnet ist, wird das Datenpaket verworfen.
-
Bei einer anderen Ausführungsform
ist ein Verfahren zum Verarbeiten von Datenpaketen in einem Ringschalter
eines Ringnetzwerks bereitgestellt. Das Verfahren umfasst, ein Datenpaket
an einem bidirektionalen Ringanschluss des Ringschalters zu empfangen.
Das Verfahren umfasst ferner, eine ausgewählte Herkunftsidentifizierung
des Datenpakets zu lesen. Wenn sich die Herkunftsidentifizierung
nicht in einer Tabelle für
einen Anschluss des Ringschalters befindet, wird die Herkunftsidentifizierung
in wenigstens einer Tabelle mit einer Angabe darüber gespeichert, dass die Identifizierung
für eine
dem Ringanschluss zugeordnete Netzwerkvorrichtung diente. Das Verfahren
liest eine ausgewählte
Zielidentifizierung aus dem Datenpaket aus. Wenn sich die Zielidentifizierung
für das
Datenpaket in einer Tabelle für
den Ringschalter befindet, wird das Datenpaket zu dem Anschluss
des Ringschalters vermittelt, der der Zielidentifizierung zugeordnet
ist, auch wenn das Datenpaket an dem Ringanschluss empfangen wurde
und die Zielidentifizierung dem Ringanschluss zugeordnet ist, ohne
Verwendung eines Token oder einer Einkapselung des Datenpakets.
Wenn sich die Zielidentifizierung für das Datenpaket nicht in einer
Tabelle für
den Ringschalter befindet oder das Datenpaket ein Broadcast-Datenpaket
ist, wird das Datenpaket zu allen Anschlüssen des Ringschalters per
Broadcast übertragen.
Wenn die Zielidentifizierung des Datenpakets eine Multicast-Identifizierung
ist, wird das Datenpaket an alle geeigneten Anschlüsse des
Ringschalters per Broadcast übertragen.
-
Bei einer anderen Ausführungsform
ist ein Verfahren zum Verarbeiten von Datenpaketen in einem Ringschalter
eines Ringnetzwerks bereitgestellt. Das Verfahren umfasst, ein Datenpaket
an einem Ring-Eingangsanschluss des Ringschalters zu empfangen.
Eine ausgewählte
Herkunftsidentifizierung des Ringpakets wird gelesen. Wenn sich
die Herkunftsidentifizierung nicht in einer Tabelle für einen
Anschluss des Ringschalters befindet, wird die Herkunftsidentifizierung
in der Tabelle mit einer Angabe dahingehend gespeichert, dass die
Identifizierung für
eine einem Ring-Ausgangsanschluss des Ringschalters zugeordnete
Netzwerkvorrichtung bestimmt ist. Das Verfahren umfasst ferner,
eine ausgewählte
Zielidentifizierung aus dem Datenpaket auszulesen. Wenn sich die
Zielidentifizierung für
das Datenpaket in einer Tabelle für den Ringschalter befindet, wird
das Datenpaket zu dem Anschluss des Ringschalters geleitet, der
der Zielidentifizierung zugeordnet ist. Wenn sich die Zielidentifizierung
für das
Datenpaket nicht in einer Tabelle für den Ringschalter befindet
oder das Datenpaket ein Broadcast-Datenpaket ist, wird das Datenpaket
per Broadcast übertragen.
Wenn die Zielidentifizierung für
das Datenpaket eine Multicast-Identifizierung ist, wird das Datenpaket
zu allen geeigneten Anschlüssen
des Ringschalters per Broadcast übertragen.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm einer Ausführungsform
eines Ringnetzwerks gemäß den Lehren
der vorliegenden Erfindung.
-
2 ist
ein Flussdiagramm für
eine Ausführungsform
eines Verfahrens zum Verarbeiten von Datenpaketen in einem Ringnetzwerk
gemäß den Lehren
der vorliegenden Erfindung.
-
3 ist
ein Blockdiagramm eines Ringschalters gemäß den Lehren der vorliegenden
Erfindung.
-
4 ist
ein Flussdiagramm, das eine weitere Ausführungsform eines Verfahrens
zum Verarbeiten von Datenpaketen in einem Ringnetzwerk gemäß den Lehren
der vorliegenden Erfindung veranschaulicht.
-
5 ist
ein Blockdiagramm einer Ausführungsform
eines modifizierten Ethernet-Schalters gemäß den Lehren der vorliegenden
Erfindung.
-
6 ist
ein Flussdiagramm, das eine Ausführungsform
eines Verfahrens zum Identifizieren von Paketen mit ungültigen Zieladressen
gemäß den Lehren
der vorliegenden Erfindung veranschaulicht.
-
7 ist
ein Flussdiagramm, das eine Ausführungsform
eines Verfahrens zum Lernen der Adressen von Endgeräten, die
lokalen Anschlüssen
eines Ethernet-Schalters zugeordnet sind, gemäß den Lehren der vorliegenden
Erfindung veranschaulicht.
-
8 ist
ein Blockdiagramm einer weiteren Ausführungsform eines modifizierten
Ethernet-Schalters gemäß den Lehren
der vorliegenden Erfindung.
-
9 ist
ein Flussdiagramm, das eine weitere Ausführungsform eines Verfahrens
zum Identifizieren von Paketen mit ungültigen Zieladressen gemäß den Lehren
der vorliegenden Erfindung veranschaulicht.
-
10 ist
ein Flussdiagramm, das eine weitere Ausführungsform eines Verfahrens
zum Lernen der Adressen von Netzwerkvorrichtungen, die lokalen Anschlüssen eines
Ethernet-Schalters
zugeordnet sind, gemäß den Lehren
der vorliegenden Erfindung veranschaulicht.
-
11 ist
ein Blockdiagramm einer weiteren Ausführungsform eines Ringnetzwerks
gemäß den Lehren
der vorliegenden Erfindung.
-
12 ist
ein Blockdiagramm eines Verfahrens zum Verarbeiten von Datenpaketen
durch einen Ringschalter gemäß den Lehren
der vorliegenden Erfindung.
-
13 ist
ein Blockdiagramm eines weiteren Verfahrens zum Verarbeiten von
Datenpaketen durch einen Ringschalter gemäß den Lehren der vorliegenden
Erfindung.
-
Detaillierte
Beschreibung
-
1 ist
ein Blockdiagramm einer Ausführungsform
eines im Ganzen bei 100 angegebenen Systems zum Übertragen von Datenpaketen
in einem unidirektionalen Ringnetzwerk. Im Sinne dieser Beschreibung umfasst
der Begriff Datenpakete Ethernet-, Token-Ring-, FDDI-, asynchrone
Transformations-("ATM")- und andere Datenpakete
mit einem Format, das wenigstens eine Herkunftsadresse, eine Zieladresse,
Nutzdaten und optional einen Fehlerkorrekturcode, wie z. B. eine
zyklische Redunanzüberprüfung, umfasst.
-
Im Sinne dieser Beschreibung umfassen
die Begriffe "Herkunftsadresse" und "Zieladresse", aber ohne darauf
beschränkt
zu sein, Media-Access-Control-(MAC)-Adressen, die typischerweise
48 Bit Hardwareadressen sind, die in eine Netzwerkvorrichtung einprogrammiert
sind, z. B. eine Ethernet-MAC-Adresse. Alternativ können andere
Adressen oder Signale anstelle der MAC-Adressen verwendet werden.
Beispielsweise können als
Herkunfts- und Zieladressen beim Vermitteln eines Pakets Internet-Protokoll-(IP)-Adressen
verwendet werden. Ein IP-Paket weist typischerweise Herkunfts- und
Zieladressen auf, die sich von MAC-Adressen unterscheiden können. Jede
IP-Adrese ist eine 32 Bit Zahl in einem Header des IP-Pakets. Ferner
können
auch Anschlussnummern in einem Header eines universellen Datagrammprotokolls
(UDP) verwendet werden, um zu ermitteln, wohin ein Paket in einem
Netzwerkelement zu vermitteln ist.
-
Die hierarchische Struktur der Teilnetzwerke
in Netzwerken, wie z. B. das Internet, stellen auch eine Grundlage
zum Vermitteln von Paketen bereit. Beispielsweise sind Internet- Adressen im Sinne
von Teilnetzen definiert. Derartige Adressen sind in der Form von
X.Y.Z.W, wobei X typischerweise das Klasse-A-Netzwerk (engl.: class
A network), X.Y typischerweise das Klasse-B-Teilnetz (engl.: class
B subnet), X.Y.Z typischerweise das Klasse-C-Teilnetz (engl.: class C subnet) und
W typischerweise die Adresse der Vorrichtung in dem Teilnetz identifizieren.
Bei Adressen dieser Struktur können
die Herkunftsidentifizierung und die Zielidentifizierung für Schaltvorrichtungen
nur einen Teil der hierarchischen Adresse aufweisen. Beispielsweise
können
Vermittlungsentscheidungen auf der Grundlage lediglich der ersten
3, 8, 10 oder 16 Bits oder einem anderen Teil der hierarchischen
Adresse getroffen werden.
-
Es ist ferner verständlich,
dass die Begriffe "Herkunftsadresse" und "Zieladresse" auch eine beliebige Kombination
der oben beschriebenen, verschiedenen Adressen oder Identifizierungen
umfassen können.
Beispielsweise können
die Elemente eines Netzwerks Vermittlungsentscheidungen basierend
sowohl auf MAC-Adressen und IP-Adressen als auch Teilen von Adressen
treffen. Andere Kombinationen verschiedener Identifizierung können auch
verwendet werden.
-
Im Wesentlichen umfassen die Begriffe
Herkunftsadresse und Zieladresse jegliche Daten oder Signale, die
verwendet werden können,
um die Quelle oder das Ziel eines über ein Ringnetzwerk übertragenen
Pakets zu identifizieren. Daher sind die Begriffe "Adresse" und "Identifizierung" hier untereinander
austauschbar verwendet, um Daten, ein Signal oder eine andere Angabe
zu umfassen, die eine Quelle oder ein Ziel eines Datenpakets identifiziert.
Außerdem
können
die Quelle und das Ziel auch für
eine endgültige
oder dazwischenliegende Quelle oder Ziel gelten.
-
Ferner umfasst der Begriff "Ethernet" die gesamte Klasse
von Protokollen für
Mehrfachzugriff mit Übertragungsprüfung/Kollisionserkennung
(CSMA/CD), die von der Familie von Computerindustriestandards abgedeckt
sind, die verschiedentlich als IEEE-802.3 und ISO 8802/3 bekannt
sind. Dies umfasst, ist aber nicht eingeschränkt auf 1 Megabit Ethernet,
das als "StarLAN" bekannt ist, 10
Megabit Ethernet, 100-Megabit-Ethernet, das als "Fast Ethernet" bekannt ist, 1 Gigabit Ethernet, das
als "Gigabit Ethernet" bekannt ist und
beliebige zukünftige
CSMA/CD-Protokolle bei beliebigen anderen Datenraten. Vorteilhafterweise
ermöglicht
es das System 100, herkömmliche
Datenpakete in einem unidirektionalen Ringnetzwerk ohne die bedeutsamen
Komplikationen zu übertragen,
die mit Einkapselung- und Token-Protokollen verbunden sind, die
in herkömmlichen Ringnetzwerken
verwendet werden. Das System 100 verarbeitet Datenpakete
unabhängig
von der Datenrate und insbesondere von dem verwendeten Datenpaketprotokoll.
Das System 100 löst
also die oben hinsichtlich eines Versuchs angegebenen Probleme,
herkömmliche
Ethernet-Schalter, Hubs oder andere Vorrichtungen in dem Ringnetzwerk
zu verwenden.
-
Das System 100 umfasst eine
Anzahl von Ringschaltern 104-1 bis 104-N, die
jeweils selbst lernen, welche Netzwerkvorrichtungen den verschiedenen
Anschlüssen
des Ringschalters zugeordnet sind. Jeder Ringschalter weist einen
oder mehrere lokale Anschlüsse
auf, die mit lokalen Netzwerken verbunden sind. Die lokalen Anschlüsse können Anschlüsse aufweisen,
die zur Verwendung mit einem Ethernet-, Token-Ring-, ATM-, FDDI-
oder einem anderen geeigneten Netzwerkprotokoll konfiguriert sind.
Beispielsweise umfasst der Ringschalter 104-1 wenigstens einen lokalen Anschluss,
der mit einem lokalen Bereichsnetzwerk (LAN; engl.: local area network) 106-1 verbunden
ist. Das lokale Bereichsnetzwerk 106-1 weist Netzwerkvorrichtungen
A, B und C auf, die mit einem gemeinsamen Bus 108-1 verbunden
sind. Wie in dieser Beschreibung verwendet, umfasst der Begriff "Netzwerkvorrichtungen", ohne darauf beschränkt zu sein,
Hubs, Computerendgeräte
und -workstations, Router, Schalter, Gateways und andere Vorrichtungen,
die herkömmlicherweise
in einem Netzwerk angeschlossen sind.
-
Es wird angemerkt, dass der Ringschalter 104-2 zwei
lokale Bereichsnetzwerke 106-2a und 106-2b aufweist,
die mit seinen lokalen Anschlüssen
verbunden sind. Dies veranschaulicht, dass die Ringschalter mehrere
lokale Bereichsnetzwerke unterstützen
können,
welche wesentlich mehr als zwei ausmachen können.
-
Die Ringschalter 104-1 bis 104-N sind
mittels eines Übertragungsmediums
miteinander verbunden, der die Ringschnittstellen der Ringschalter
miteinander verbindet, um den Ring des Systems 100 zu bilden. Wie
bei der Ausführungsform
von 1 gezeigt, sind
die Ringschalter 104-1 bis 104-N durch Drähte 102-1 bis 102-N in
einem Ring angeschlossen. Die Drähte 102-1 bis 102-N können beispielsweise
verdrillte Drahtleitungen (Twisted-Pair-Drähte), ein koaxiales Kabel,
einen Leiter auf einer gedruckten Leiterplatte, eine interne Verbindung
zwischen Unterabschnitten eines einzelnen integrierten Schaltkreises,
ein faseroptisches Kabel, eine drahtlose Verbindung oder ein anderes
geeignetes Medium umfassen, um Datenpakete zwischen den Ringschaltern
in dem System 100 zu übertragen.
Auf diese Weise könnte
das System 100 als preisgünstiger Weg verwendet werden,
um die Anzahl verfügbarer
lokaler Anschlüsse
eines herkömmlichen
Ethernet-Schalters zu erhöhen.
-
Bei einer alternativen, in 11 gezeigten Ausführungsform
sind Ringtransceiver 1102-1 bis 1102-N angeschlossen,
um einen unidirektionalen Ring zum Übertragen von Ethernet-Paketen zwischen
Ringschaltern des Systems 1100 zu bilden. Ringschalter 1104-1 bis 1104-N sind
den Ringtransceivern 1102-1 bis 1102-N jeweils
zugeordnet. Die Ringtransceiver 1102-1 bis 1102-N können beispielsweise
eine Anzahl von DV6000-Faserübertragungssystemen
umfassen, die von ADC Telecommunications, Minnetonka, Minnesota, erhältlich sind.
Das DV6000 stellt eine Kapazität
von 16 Kanälen
zum Übertragen
von Daten bereit. Bei dieser Ausführungsform wird lediglich ein
Kanal des DV6000 verwendet, um die Ethernet-Pakete in dem System 1100 zu übertragen.
Die anderen Kanäle
können
für zusätzliche
Ringschalter netzwerke oder andere Zwecke verwendet werden, z. B.
Video-, Sprach- oder andere Datenübertragung. Alternativ können die
Ringtransceiver 1102-1 bis 1102-N durch andere
herkömmliche Übertragungsvorrichtungen
implementiert sein, wie z. B. drahtlose Transceiver, faseroptische
Transceiver etc.
-
Vorteilhafterweise verwenden die
Ringschalter 104-1 bis 104-N des Systems 100 ein
Verfahren, welches verhindert, dass Pakete um das Ringnetzwerk in
undefinierter Weise übertragen
werden. Gemäß einer Ausführungsform
liest ein Ringschalter die Herkunftsadresse von Paketen, wenn diese
in die Ringschnittstelle für
den Ringschalter gelangen. Wenn die Herkunftsadresse des an der
Ringschnittstelle empfangenen Pakets der Adresse einer Netzwerkvorrichtung
entspricht, die den lokalen Anschlüssen des Ringschalters zugeordnet ist,
entfernt das Verfahren das Paket von dem Ring und verwirft es. Dies
bedeutet, dass ein Paket, das von einer Netzwerkvorrichtung stammt,
die den lokalen Anschlüssen
zugeordnet ist (z. B. Netzvorrichtung A, B oder C für den Ringschalter 104-1),
sich vollständig
um den Ring des Systems 100 bewegt hat und zurück an dem
Ring-Eingangsanschluss des ausgebenden Ringschalters angekommen
ist. Dieses Verfahren ermöglicht es
einem Ringschalter, ein Paket zu entfernen, weil die Zieladresse
für das
Paket, das von einer Netzwerkvorrichtung stammt, die einem seiner
lokalen Anschlüsse
zugeordnet ist, nicht in dem System 100 aufgefunden wurde.
-
Bei einer andere Ausführungsform
wird eine Identifizierungsnummer für jeden Schalter verwendet,
um zu verhindern, dass Pakete auf undefinierte Weise in dem Ringnetzwerk
zirkulieren. Wenn ein Paket von einem lokalen Anschluss in einen
Ringschalter gelangt, wird eine Identifizierungsnummer für den Ringschalter dem
Paket vorangestellt, nachgestellt oder diesem hinzugefügt. Wenn
Pakete an der Ringschnittstelle eines Ringschalters empfangen werden,
betrachtet der Ringschalter die Identifizierungsnummer für das Paket. Wenn
die Identifizierungsnummer angibt, dass das Paket von diesem Ringschalter
stammt, wird das Paket von dem System entfernt. Bei einer anderen
Ausführungsform
wird dem Paket bei seinem ausgebenden Ringschalter ein Zähler hinzugefügt. Jeder
nachfolgende Ringschalter in dem Netzwerk, der das Paket verarbeitet, erhöht den Zähler für das Paket.
Des Weiteren prüft
jeder Ringschalter, der das Paket verarbeitet, den Wert des Zählers. Wenn
der Wert des Zählers
einen festgesetzten Grenzwert überschreitet,
wird das Paket entfernt. Der maximale Wert für den Zähler ist so gewählt, dass
das Paket von dem Ring entfernt wird, wenn es das Netzwerk wenigstens
einmal umkreist hat.
-
Die Ringschalter 104-1 bis 104-N verwenden
auch ein modifiziertes Verfahren zum Verarbeiten von Datenpaketen
an der Ringschnittstelle, das eine ordnungsgemäße Verarbeitung von Paketen
ohne Datenverlust ermöglicht.
Bei einer Ausführungsform
weist die Ringschnittstelle für
jeden Ringschalter zwei Anschlüsse auf:
Einen Ring-Eingangsanschluss und einen Ring-Ausgangsanschluss. Im Grunde baut der
Ringschalter eine Adresstabelle für den Ring- Ausgangsanschluss basierend auf den
Herkunftsadressen für
an dem Ring-Eingangsanschluss empfangene Pakete auf. Dies erfolgt
so, dass Pakete, die für
Netzwerkvorrichtungen bestimmt sind, die lokalen Anschlüssen anderer
Ringschalter in dem System 100 zugeordnet sind, aus dem Ring-Ausgangsanschluss
hinausgehen und sich längs
des Rings weiterbewegen und zu einem lokalen Anschluss des geeigneten
Ringschalters vermittelt werden. Auf diese Weise lernt der Ringschalter,
dass alle Netzwerkvorrichtungen in dem System 100, die
nicht lokalen Anschlüssen
des Schalters zugeordnet sind, lediglich über den Ring-Ausgangsanschluss
und nicht über
den Ring-Eingangsanschluss erreicht werden können. Es wird angemerkt, dass
bei jeder dieser Ausführungsformen
der Ringschalter entweder mehrere Adresstabellen oder eine einzelne
Adresstabelle für
alle Anschlüsse
des Ringschalters oder eine separate Tabelle für jeden der Anschlüsse unterhalten
kann. In Fall einer einzelnen Adresstabelle und möglicherweise
in dem Fall mehrerer Adresstabellen verwendet der Ringschalter eine
Anzahl von Bits, die jeder Adresse in der Tabelle zugeordnet sind,
um den der Adresse zugeordneten Anschluss anzugeben.
-
Bei einer anderen Ausführungsform
weist die Ringschnittstelle jedes Ringschalters, wie in 3 gezeigt, einen einzelnen
bidirektionalen Ringanschluss auf. Um das Problem verlorener Daten
zu beseitigen, verwendet das Verfahren bei dieser Ausführungsform
normale Adresstabellen und Verfahren zum Lernen von Adressen, erlaubt
es aber, an dem Ringanschluss empfangene Pakete auch aus dem Ringanschluss
bei Verletzung der herkömmlichen
Regel für
Ethernet-Schalter zu übertragen,
dass ein Paket nicht aus dem Anschluss vermittelt werden kann, von
dem es empfangen wurde. Bei dieser Ausführungsform wird auch die Zieladressfilter-Regel
außer
Kraft gesetzt, so dass von einem vorherigen Ringschalter in dem
Ring stammende und für
einen nachfolgenden Ringschalter in dem Ring bestimmte Pakete von
dazwischen angeordneten Schaltern empfangen werden können.
-
Eine Vielzahl von Dienstleistungen
kann über
das Netzwerk 100 bereitgestellt werden, indem Identifizierungen
oder "Kennzeichen" (engl.: tags) von
dem Netzwerk transportierten Paketen vorangestellt, in diese aufgenommen
oder diesen nachgestellt werden. Beispielsweise können über die
Verwendung derartiger Kennzeichen Dienstleistungen, wie z. B. virtuelle
lokale Bereichsnetzwerke (VLANs; engl.: virtual local area networks),
Quality-Of-Service (QOS) und weitere Dienstleistungen, implementiert
werden.
-
Das Netzwerk 100 könnte wie
folgt unter Verwendung von Kennzeichen ein VLAN implementieren. Mehrere
lokale Bereichsnetzwerke (LANs) können mit den lokalen Anschlüssen eines
Ringschalters verbunden sein, wie beispielsweise bei den Ringschaltern 104-2 und 104-3 von 1 gezeigt ist. Bestimmte
Pakettypen, wie z. B. Broadcast- oder Multicast-Pakete, die von
dem Ring weg zu einem lokalen Anschluss vermittelt werden, können an
allen lokalen Anschlüssen
des Ringschalters übertragen
werden, der den Verkehr (engl.: traffic) von dem Ring abzieht. Dies
erzeugt ein Sicherheitsproblem, weil eine Organisation oder Vorrichtung Daten
empfangen könnte,
die für
andere Organisationen oder Vorrichtungen bestimmt sind. In einigen
Fällen können zwei
oder mehrere LANs, die zu unterschiedlichen Organisationen gehören, z.
B. eine Organisation mietet Zugriff auf den Ringschalter von einer
anderen Organisation, mit lokalen Anschlüssen des gleichen Schalters
verbunden sein. Vorteilhafterweise umfasst das Netzwerk 100 bei
einer Ausführungsform
virtuelle LAN-Identifizierungen (VLANs), die vorangestellt, nachgestellt
oder in Pakete eingebunden sind, um die Pakete für LANs zu unterscheiden, die
sich an lokalen Anschlüssen
des gleichen Schalters oder unterschiedlichen Schaltern befinden.
Beispielsweise sind die LAN 106-2a und 106-3a zugeordnete
LANs. Wenn an den lokalen Anschlüssen
des Ringschalters 104-2 ein Paket von der Netzwerkvorrichtung
G oder H empfangen wird, wird basierend auf dem lokalen Anschluss,
der das Paket empfangen hat, eine VLAN-Identifizierung den Paketen
vorangestellt, nachgestellt oder in diese eingebunden. Wenn die
Pakete von dem Ring weg vermittelt werden, betrachtet der Ringschalter 104-3 die
vorangestellte VLAN-Identifizierung, um zu ermitteln, welcher lokale
Anschluss oder Anschlüsse
für die
Pakete zugelassen sind. Bei diesem Beispiel würde der Ringschalter jegliche
Pakete mit der geeigneten VLAN-Identifizierung aus dem lokalen Anschluss
für das
LAN 106-3a übertragen.
-
Die VLAN-Identifizierung wird von
dem Paket vor Übertragung
aus dem lokalen Anschluss heraus entfernt, um Benutzer davon abzuhalten,
Zugriff auf die von den Schaltern zum Implementieren des VLAN's verwendeten Signalisierung
zu erhalten. Dies sorgt für
eine zusätzliche
Sicherheitsstufe für
Benutzer des VLAN's. Auch
wenn das Paket ein Broadcast- oder Multicast-Paket ist, wird es
daher nicht aus allen Anschlüssen
hinausgehen. Vielmehr wird das Paket lediglich aus den Schaltern
heraus vermittelt, die als Mitglieder des VLAN's gekennzeichnet sind.
-
Bei einer anderen Ausführungsform
kann basierend auf einer Tabelle von Identifizierungen, z. B. MAC-Adressen,
IP-Adressen oder andere geeignete Identifizierungen, für Netzwerkvorrichtungen,
die Teile des VLAN's
sind, ein virtuelles lokales Bereichsnetzwerk erzeugt werden. Beispielsweise
sind die Netzwerkvorrichtungen H, I und K einem virtuellen LAN zugeordnet.
Wenn an den lokalen Anschlüssen
des Ringschalters 104-2 von der Netzwerkvorrichtung H Pakete
empfangen werden, die für
die Netzwerkvorrichtung K bestimmt sind, wird basierend auf einer
Tabelle von Identifizierungen, die die Vorrichtungen identifizieren,
die Mitglieder des VLAN's
sind, eine VLAN-Identifizierung den Paketen vorangestellt, nachgestellt
oder in diese eingebunden. Wenn die Pakete von dem Ring weg vermittelt
werden, schaut der Ringschalter 104-3 auf die vorangestellte,
nachgestellte oder eingebundene VLAN-Identifizierung und eine Tabelle
von Identifizierungen, um zu ermitteln, welche lokalen Vorrichtungen,
wie von der VLAN-Identifizierung identifiziert, Mitglieder des VLAN's sind. Bei diesem
Beispiel würde
der Ringschalter jegliche Pakete der Netzwerkvorrichtung H mit der geeigneten
VLAN-Identifizierung aus dem lokalen Anschluss für das LAN 106-3b zu
der Vorrichtung K übertragen.
-
Die VLAN-Identifizierung wird vor Übertragung
aus dem lokalen Anschluss heraus von dem Paket entfernt, um Benutzer
davon abzuhalten, Zugriff auf die von den Schaltern zur Implementierung
des VLAN's verwendeten
Signalisierung zu erhalten. Dies sorgt für eine zusätzliche Sicherheitsstufe für Benutzer
des VLAN's. Auch
wenn das Paket ein Broadcast- oder Multicast-Paket ist, wird es
daher nicht aus allen Anschlüssen
hinausgehen. Vielmehr wird das Paket lediglich aus den Anschlüssen mit
Netzwerkvorrichtungen herausvermittelt, die als Mitglieder des VLAN's angegeben sind.
-
Bei anderen Ausführungsformen kann eine Kombination
von Netzwerkvorrichtungen und lokalen Anschlüssen angegeben werden, um ein
virtuelles lokales Bereichsnetzwerk zu bilden.
-
Die VLAN-Identifizierungen können auch
verwendet werden, um in dem Netzwerk 100 eine Multicast-Funktion
zu implementieren. Auch wenn 1 eine
Anzahl von LANs veranschaulicht, die durch den Ring von Ringschaltern
untereinander verbunden sind, könnten
die lokalen Anschlüsse
statt dessen mit Kabelnetzwerken verbunden sein, die Signale, z.
B. Videodaten, Teilnehmern eines Videoprogramms oder einer Videokonferenz
bereitstellen. Bei dieser Ausführungsform
wird die VLAN-Identifizierung verwendet, um Pakete zu einer spezifizierten
Gruppe von Benutzern zu leiten. Beispielsweise befinden sich die
Netzwerkvorrichtungen G, H, J, C und B in einer Gruppe, die beispielsweise
Pakete von einer Quelle empfängt,
die dem Ringschalter 104-N, z. B. ein Kopfende eines Kabelsystems,
zugeordnet ist, das den angegebenen Vorrichtungen einen Pay-Per-View-Service
(Dienstleistung zur nutzungsabhängigen
Bezahlung von Fernsehprogrammen) bereitstellt. Wenn an dem Ringschalter
104-N Pakete empfangen werden, sieht der Ringschalter in eine Tabelle,
die eine VLAN-Identifizierung angibt, die beispielsweise einer MAC-
oder IP-Adresse der Pakete zugeordnet ist. Diese Adresse ist beispielsweise
eine Ethernet-Multicast-Adresse, eine IP-Multicast-Adresse oder
eine andere geeignete Multicast-Adresse. Die VLAN-Identifizierung
wird den Paketen vorangestellt, nachgestellt oder in diese eingebunden
und diese werden längs
des Rings übertragen.
-
An jedem Ringschalter gibt die Multicast-Adresse
an, dass das Paket ein VLAN-Paket ist, so dass der Ringschalter
nach der vorangestellten, nachgestellten oder eingebundenen VLAN-Identifizierung sucht.
Beispielsweise sieht der Ringschalter 104-2 in seine Tabelle
und stellt fest, dass die VLAN-Identifizierung den Netzwerkvorrichtungen
G und H zugeordnet ist, beispielsweise basierend auf MAC-Adressen
oder IP-Adressen in der Tabelle, die der VLAN-Identifizierung zugeordnet sind. Der
Ringschalter 104-2 sendet folglich Pakete an dem lokalen
Anschluss aus, der die Netzwerkvorrichtungen G und H aufweist. Die
Pakete weisen eine Multicast-Adresse auf, die von den Netzwerkvorrichtungen
decodiert wird. Alternativ könnte
der Ringschalter 104-2 Kopien des Pakets erzeugen und die
Ethernet- und/oder IP-Adresse jeder Netzwerkvorrichtung einfügen, die
die Pakete empfangen sollen.
-
Die Beschreibung der folgenden Figuren
ist hinsichtlich einer Verarbeitung von Paketen ohne spezielle Bezugnahme
auf die Verwendung von Kennzeichen, wie z. B. VLAN-Identifizierungen,
beschrieben. Es ist jedoch verständlich,
dass die hier beschriebene Verarbeitung und Systeme in dem Zusammenhang
hinsichtlich von Kennzeichnungen Gültigkeit haben ebenso wie bei
einer Beschreibung eines Prozesses, der in einem Kennzeichnungssystem
auftritt. Insbesondere bedeuten beispielsweise alle Bezugnahmen
auf "Broadcast-Pakete" oder auf den "Broadcast" eines Pakets, dass
das Paket nur zu Vorrichtungen per Broadcast übertragen wird, die der gleichen
VLAN-Identifizierung zugeordnet sind. Auf vergleichbare Weise bedeuten
beispielsweise alle Bezugnahmen auf ein Vermitteln eines Pakets
von dem Ring weg zu einer speziellen Vorrichtung, dass das Paket
basierend auf den Vorrichtungsidentifizierungen von dem Ring weg
vermittelt, aber nicht zu den lokalen Anschlüssen des Ringschalters übertragen
wird, es sei denn, die Vorrichtung, die das Paket gesendet hat (wie
durch die Herkunftsidentifizierung bestimmt), und der vorgesehene
Empfänger
(wie durch die Zielidentifizierung festgelegt) sind Mitglieder des
gleichen VLAN's.
-
2 ist
ein Flussdiagramm, das eine erste Ausführungsform eines Verfahrens
zum Verarbeiten von Datenpaketen in einem Ringnetzwerk gemäß den Lehren
der vorliegenden Erfindung veranschaulicht. Dieses Verfahren implementiert
die Technik, eine Adresstabelle für einen Ringausgangsanschluss
eines Ringschalters basierend auf der Herkunftsadresse von an einem
Ring-Eingangsanschluss erhaltenen Paketen zu erzeugen. Das Verfahren überprüft auch
die Herkunftsadresse von eingehenden Paketen mit Adresstabellen
für den einen
oder mehrere lokale Anschlüsse
des Ethernet-Schalters, um von den lokalen Anschlüssen stammende Pakete,
die sich um das Ringnetzwerk bewegt haben, zu entfernen. Die folgende
Tabelle stellt Definitionen für die
in den 2 und 4 verwendeten Abkürzungen
bereit.
-
-
Das Verfahren beginnt bei Block 200,
ein eingehendes Datenpaket zu verarbeiten. Der erste von dem Verfahren
verwendete Faktor besteht darin, zu ermitteln, welche Art Anschluss
das Datenpaket empfangen hat. Das Verfahren verarbeitet die Datenpakete
basierend darauf unterschiedlich, ob das eingehende Datenpaket an
dem Ring-Eingangsanschluss oder einem lo kalen Anschluss empfangen
wird. Daher ermittelt das Verfahren bei Block 202, ob der
Schalter das eingehende Datenpaket an dem Ring-Eingangsanschluss
empfangen hat. Wenn das Datenpaket an einem lokalen Anschluss empfangen
wird, geht das Verfahren zu Block 206 weiter und verwendet
herkömmliche
Vermittlungsverfahren, um das Datenpaket zu verarbeiten. Dann beendet
das Verfahren die Verarbeitung des Datenpakets bei Block 208.
-
Wenn das Datenpaket an dem Ring-Eingangsanschluss
empfangen wurde, geht das Verfahren von Block 202 zu Block 212 weiter
und verwendet modifizierte Techniken, um die oben hinsichtlich einer
Verarbeitung von Datenpaketen in einem Ringnetzwerk angegebene Probleme
zu lösen.
Das Verfahren ermittelt zuerst, ob der Schalter Datenpakete für diese
Netzwerkvorrichtung zuvor behandelt hat. Das Verfahren bewerkstelligt
dies, indem nach der Herkunftsadresse des eingehenden Datenpakets
in der wenigstens einen Adresstabelle oder Tabellen für die Anschlüsse des
Ringschalters gesucht wird. Wenn sich die Herkunftsadresse nicht
in einer der Adresstabellen befindet, geht das Verfahren zu Block 214 weiter
und ordnet die Herkunftsadresse für das eingehende Datenpaket
in die Tabelle für
den Ring-Ausgangsanschluss an, auch wenn das Datenpaket an dem Ring-Eingangsanschluss
empfangen wurde. Auf diese Weise werden zukünftige, von dem Ringschalter
verarbeitete Datenpakete, die für
die Netzwerkvorrichtung bestimmt sind, die das Datenpaket ausgegeben
hat, auf das Ringnetzwerk an dem Ring-Ausgangsanschluss ausgegeben,
der zu der Netzwerkvorrichtung an dem lokalen Anschluss seines Ringschalters
zu schalten ist.
-
Als Nächstes beschäftigt sich
das Verfahren damit, zu ermitteln, wohin dieses Datenpaket zu vermitteln
ist. Bei Block 216 ermittelt das Verfahren, ob sich die
Zieladresse des eingehenden Datenpakets in der Adresstabelle für einen
Anschluss des Ringschalters befindet. Wenn sich die Zieladresse
in einer der wenigstens einen Adresstabelle befindet, vermittelt
das Verfahren das Datenpaket von dem Ring-Eingangs-anschluss zu
dem in der Adresstabelle angegebenen Anschluss. Das Verfahren beendet
dann die Verarbeitung dieses Datenpakets bei Block 208.
-
Wenn sich bei Block 216 die
Zieladresse für
das Datenpaket nicht in der Adresstabelle für einen der Anschlüsse des
Ringschalters befindet, überträgt das Verfahren
per Broadcast das Datenpaket abgesehen von dem Ring-Eingangsanschluss
an alle Anschlüsse.
Das Verfahren beendet die Verarbeitung dieses Datenpakets bei Block 208.
-
Wenn das Verfahren bei Block 212 feststellt,
dass die Herkunftsadresse dem Ringschalter bekannt ist, geht das
Verfahren zu Block 224 weiter. Bei Block 224 ermittelt
das Verfahren, ob sich die Herkunftsadresse für das eingehende Datenpaket
in der Adresstabelle für
den Ring-Ausgangsanschluss befindet. Ist dies der Fall, geht das
Verfahren zu Block 226 weiter und aktualisiert die Alterungszählung für die Herkunftsadresse
in der Adresstabelle für
den Ring-Ausgangsanschluss. Das Verfahren geht weiter zu Block 216,
um, wie oben beschrieben, die Verarbeitung des Datenpakets abzuschließen.
-
Wenn das Verfahren bei Block 224 feststellt,
dass das eingehende Datenpaket nicht von einer Netzwerkvorrichtung
stammt, die dem Ring-Ausgangsanschluss zugeordnet ist, geht das
Verfahren zu Block 228 weiter und filtert das Datenpaket
aus, beendet oder eliminiert es auf andere Weise. In diesem Fall
wird festgestellt, dass die Herkunftsadresse eine Adresstabelle
für einen
lokalen Anschluss ist. Dies bedeutet, dass das Datenpaket von einer
Netzwerkvorrichtung stammt, die einem lokalen Anschluss dieses Ringschalters
zugeordnet ist, und sich um das Ringnetzwerk bewegt hat, ohne dabei
hinaus zu der Netzwerkvorrichtung vermittelt worden zu sein, die
durch die Zieladresse des eingehenden Datenpakets angegeben ist.
Daher ist das eingehende Datenpaket entweder in ungeeigneter Weise
adressiert, ein Broadcast-Paket oder ein Multicast-Paket und sollte
von dem Netzwerk entfernt werden.
-
4 ist
ein Flussdiagramm, das eine weitere Ausführungsform eines Verfahrens
zum Verarbeiten von Datenpaketen in einem Ringnetzwerk gemäß den Lehren
der vorliegenden Erfindung veranschaulicht. Dieses Verfahren implementiert
die Technik, herkömmliche
selbstlernende Funktionen zu verwenden, wie z. B. den selbstlernenden
Typ, der bei herkömmlichen
Ethernet-Schaltern verwendet wird, ermöglicht es aber, Datenpakete
von dem Ringanschluss hinaus zu übertragen,
auch wenn das Datenpaket an dem Ringanschluss empfangen wurde, um
eine Verlust von Daten zu verhindern. Daher verletzt dieses Verfahren
herkömmliche
Regeln für
eine Verarbeitung von Ethernet-Paketen, die bei allen anderen bekannten
existierenden Typen von Ethernet-Vorrichtungen verwendet werden,
und insbesondere die Regeln, die bei einer Ethernet-Vermittlung
verwendet werden. Das Verfahren überprüft auch
die Herkunftsadressen eingehender Datenpakete mit Adresstabellen
für den
einen oder mehrere lokale Anschlüsse
des Ringschalters, um von den lokalen Anschlüssen stammende Datenpakete
zu entfernen, die sich durch Ringnetzwerk bewegt haben.
-
Das Verfahren beginnt bei Block 400,
ein eingehendes Datenpaket zu verarbeiten. Der erste von dem Verfahren
verwendete Faktor besteht darin, zu ermitteln, welche Art Anschluss
das eingehende Datenpaket empfangen hat. Das Verfahren verarbeitet
basierend darauf die Datenpakete unterschiedlich, ob das eingehende
Datenpaket an dem Ringanschluss oder an einem lokalen Anschluss
empfangen wird. Daher ermittelt das Verfahren bei Block 402,
ob der Schalter das eingehende Datenpaket an dem Ringanschluss empfangen hat.
Wenn das Datenpaket an einem lokalen Anschluss empfangen wird, geht
das Verfahren zu Block 406 weiter und verwendet herkömmliche
Vermittlungstechniken, um das Datenpaket zu verarbeiten. Das Verfahren beendet
dann bei Block 408 die Verarbeitung des Datenpakets.
-
Wenn das Datenpaket an dem Ringanschluss
empfangen wurde, geht das Verfahren von Block 402 zu Block 412 weiter
und verwendet modifizierte Techniken, um die oben hinsicht lich einer
Verarbeitung von Datenpaketen in einem Ringnetzwerk angegebenen
Probleme zu lösen.
Das Verfahren ermittelt zunächst,
ob der Ringschalter Datenpakete für diese Netzwerkvorrichtung
zuvor behandelt hat. Das Verfahren bewerkstelligt dies, indem nach
der Herkunftsadresse des eingehenden Datenpakets in der Adresstabelle
für die
Anschlüsse
des Ringschalter gesucht wird. Wenn sich die Herkunftsadresse nicht
in der Adresstabelle befindet, die einem der Anschlüsse zugeordnet
ist, geht das Verfahren zu Block 414 weiter und ordnet
die Herkunftsadresse für
das eingehende Datenpaket in die Tabelle für den Ringanschluss an, wie
es bei herkömmlichen Ethernet-Vorgehensweisen
getan würde.
-
Das Verfahren beginnt als nächstes damit,
zu ermitteln, wohin dieses Datenpaket zu vermitteln ist. Bei Block 416 ermittelt
das Verfahren, ob sich die Zieladresse des eingehenden Datenpakets
in der Adresstabelle für
einen der Anschlüsse
des Ringschalters befindet. Wenn sich die Zieladresse in der Tabelle
für einen
der Anschlüsse
befindet, vermittelt das Verfahren das Datenpaket bei Block 418 von
dem Ringschalter zu dem Anschluss mit der Adresstabelle, die die
Zieladresse enthält,
auch wenn sich die Zieladresse in der Tabelle für den Ringanschluss befindet.
Dies verletzt herkömmliche
Ethernet-Regeln, erlaubt aber in diesem Fall in vorteilhafter Weise,
Ringschalter in einem Ringnetzwerk zu konfigurieren. Danach beendet
das Verfahren die Verarbeitung dieses Datenpakets bei Block 408.
-
Wenn sich bei Block 416 die
Zieladresse für
das Datenpaket nicht in der Adresstabelle für einen der Anschlüsse des
Ringschalters befindet, überträgt das Verfahren
per Broadcast das Datenpaket an allen Anschlüssen einschließlich des
Ringanschlusses bei Block 420. Bei Block 408 beendet
das Verfahren die Verarbeitung dieses Datenpakets.
-
Wenn das Verfahren bei Block 412 feststellt,
dass die Herkunftsadresse dem Ringschalter bekannt ist, geht das
Verfahren zu Block 424 weiter. Bei Block 424 ermittelt
das Verfahren, ob sich die Herkunftsadresse für das eingehende Datenpaket
in der Adresstabelle für
den Ringanschluss befindet. Ist dies der Fall, geht das Verfahren
zu Block 426 weiter und aktualisiert die Alterungszählung für die Herkunftsadresse
in der Adresstabelle für
den Ringanschluss. Das Verfahren geht zu Block 416 weiter,
um, wie oben beschrieben, die Verarbeitung des Datenpakets abzuschließen.
-
Wenn das Verfahren bei Block 424 feststellt,
dass das eingehende Datenpaket nicht von einer Netzwerkvorrichtung
stammt, die dem Ringanschluss zugeordnet ist, geht das Verfahren
zu Block 428 weiter und filtert das Datenpaket aus, beendet
oder eliminiert es auf andere Weise. In diesem Fall wird festgestellt,
dass die Herkunftsadresse eine Adresstabelle für einen lokalen Anschluss ist.
Das bedeutet, dass das Datenpaket von einer Netzwerkvorrichtung
stammt, die einem lokalen Anschluss dieses Ringschalters zugeordnet
ist, und sich um das Ringnetzwerk bewegt hat, ohne dabei hinaus
zu der Netzwerkvorrichtung vermittelt worden zu sein, die durch
die Zieladresse des eingehenden Datenpakets angegeben ist. Daher
ist das eingehende Datenpaket in ungeeigneter Weise adressiert,
ein Broadcast-Paket oder ein Multicast-Paket und sollte von dem Netzwerk
entfernt werden.
-
5 ist
ein Blockdiagramm einer alternativen Ausführungsform eines im Ganzen
bei 500 angegebenen Ringschalters für ein Ringnetzwerk gemäß den Lehren
der vorliegenden Erfindung. Bei dieser Ausführungsform wird eine externe
Schaltkreisanordnung mit einem herkömmlichen Ethernet-Schalter 502 verwendet,
um Verfahren zu implementieren, um zu verhindern, dass Datenpaket
unabsichtlich von dem Netzwerk entfernt werden, und um Datenpakete
auszufiltern, die sich um das Ringnetzwerk bewegt haben, ohne dabei hinaus
zu einem lokalen Anschluss eines Ringschalters vermittelt worden
zu sein. Bei dieser Ausführungsform ist
der Schalter 502 ein Thunderswitch von Texas Instruments,
Richardson, Texas, Artikel Nr. TNETX3150 oder ein GT-48002 oder
GT-48002A Fast Ethernet Switch Controller von Galileo Technology,
Karmiel, Israel. Die Thunderswitch- und Galileo-Schalter sind Beispiele
für Ethernet-Schaltern,
die einen Schnittstellenanschluss aufweisen, der es ermöglicht,
diese Vermittlungschips über
einen externen Prozessor dazu zu zwingen oder zu manipulieren, ihre
herkömmlichen
automatischen Algorithmen zum Selbstlernen von Adresstabellen außer Kraft
zu setzen, und dem externen Prozessor erlauben, Adressen in der
Adresstabelle anzuordnen. Bei dieser Ausführungsform liest der externe
Prozessor die Herkunftsadressen, die von dem Ring eingehen, und
schreibt diese Adressen in die Adresstabelle mit den von dem externen
Prozessor auf die Anschlussidentifizierungsbits für den Ring-Ausgangsanschluss
gesetzten Anschlussidentifizierungsbits. Alternativ kann der Schalter 502 einen
herkömmlichen
PM3351 Fast EtherdirectorEthernetSwitch von PMC-Sierra, Inc., Burnaby,
BC, Kanada umfassen. Bei dieser Ausführungsform kann der PM3351-Schalter
umprogrammiert werden, um die Zieladressfilter-Funktion für einen
Anschluss abzuschalten, um es zu ermöglichen, Datenpakete aus dem
gleichen Anschluss hinaus zu übertragen,
von dem die Datenpakete hereingekommen sind. Bei dieser Ausführungsform
würde der
Schalter 502, wie in 3 gezeigt,
einen einzelnen Ringanschluss aufweisen. Andere herkömmliche
Ethernet-Schalter,
die umprogrammiert werden können,
können
anstelle der Thunderswitch-, Galileo- und PMC-Sierra-Schalter eingesetzt
werden. Die Verwendung eines umprogrammierten Thunderswitch-, Galileo-,
PMC-Sierra-Schalters oder von Äquivalenten
derselben löst
eines der Probleme bei herkömmlichen Ringschaltern
in einem Ringnetzwerk; nämlich
einen Verlust von Datenpaketen aufgrund des Ringcharakters des Netzwerks.
Die in 5 gezeigte, zusätzliche
Schaltkreisanordnung wird verwendet, um die Herkunftsadressfilterfunktion
zu implementieren, die verhindert, dass Datenpakete in undefinierter
Weise um das Netzwerk übertragen
werden. Diese Schaltkreisanordnung in 5 ist
mit dem Ring-Eingangs- und Ring-Ausgangsanschlüsse aufweisenden Schalter 502 gezeigt.
Es ist verständlich,
dass die externe Schaltkreisanordnung mit einem Schalter mit einem
bidirektionalen Ringanschluss gleich gut arbeitet.
-
Im Grunde wird die externe Schaltkreisanordnung
des Ringschalters 500 verwendet, um basierend auf dem Strom
von Datenpaketen, die in den Ring-Eingangsanschluss gelangen und
aus dem Ring-Ausgangsanschluss hinaus gehen, die Adressen von eingehenden
Datenpaketen herzuleiten, die den lokalen Anschlüssen des Schalters 502 zugeordneten
Netzwerkvorrichtungen entsprechen. Diese Adressen werden in einer
externen Adresstabelle (EAT; engl.: external address table) 504 des
Ringschalters 500 abgelegt. Eingehende Datenpakete werden
mit dieser Adresstabelle verglichen, um zu ermitteln, welche Datenpakete
einen vollen Umlauf um den Ring zurückgelegt haben und entfernt
werden müssen.
-
Für
von dem Ringschalter 500 verarbeitete Datenpakete gibt
es vier grundlegende Szenarien:
- 1. Ein Datenpaket
kommt von dem Ringnetzwerk in den Ring-Eingangsanschluss und geht
nicht aus dem Ring-Ausgangsanschluss. Die Zieladresse für dieses
Datenpaket entspricht einer Netzwerkvorrichtung an einem lokalen
Anschluss und wird in der externen Adresstabelle 504 abgelegt.
- 2. Ein Datenpaket kommt von einem lokalen Anschluss und wird
aus dem RingAusgangsanschluss des Schalters 502 hinaus
vermittelt, um auf dem Ringnetzwerk angeordnet zu werden. Dieses
Datenpaket befindet sich nur in dem ausgehenden Datenpaketstrom
und daher kann dessen Herkunftsadresse der externen Adresstabelle 504 hinzugefügt werden.
- 3. Ein Datenpaket kommt von dem Ring und geht an dem Ring-Eingangs-anschluss
in den Schalter 402 und wird bei dem Ring-Ausgangsanschluss
hinaus auf das Ringnetzwerk zurück übertragen.
Die Adresse dieses Datenpakets ist nicht einem lokalen Anschluss
zugeordnet.
- 4. Ein Datenpaket kommt von dem Ring und dessen Herkunftsadresse
ist nicht die gleiche wie die Herkunftsadresse für einen lokalen Anschluss,
und muss daher ausgefiltert werden, da es den vollständigen Umlauf
um das Ringnetzwerk zurückgelegt
hat.
-
Der Schalter 500 weist zwei
Zustandsmaschinen auf, die Daten von den Ring-Eingangs- und Ring-Ausgangsanschlüssen des
Schalters 502 erhalten, der zwischen allen dieser Szenarien
unterscheiden kann, indem er die externe Adresstabelle 504 erzeugt
und in dieser nachsieht. Die erste Zustandsmaschine 506 ist
angeschlossen, um Datenpakete von dem Ring zu empfangen. Die erste
Zustandsmaschine 506 stellt Herkunftsadressen von eingehenden
Datenpaketen einem First-In-First-Out-(FIFO)-Puffer 510 bereit.
Eine zweite Zustandsmaschine 512 verwendet die Daten in
dem FIFO 510 und die aus dem Ring-Ausgangsanschluss hinaus übertragenen
Datenpakete, um zu ermitteln, welche Adressen den lokalen Anschlüssen ent sprechen.
Die zweite Zustandsmaschine 512 legt diese Adressen in
der externen Adresstabelle 504 ab und hält diese aufrecht.
-
7 ist
ein Flussdiagramm, das eine Ausführungsform
eines Verfahrens für
die zweite Zustandsmaschine 512 von 5 veranschaulicht. Diese Zustandsmaschine
wird verwendet, um die externe Adresstabelle für die Netzwerkvorrichtungen
aufzubauen und aufrecht zu erhalten, die den lokalen Anschlüssen des
Schalters 502 zugeordnet sind. Das Verfahren beginnt bei
Block 700. Bei Block 702 beginnt das Verfahren,
ein Datenpaket aus dem Ring-Ausgangsanschluss
des Schalters 502 auf den Ring zu übertragen. Bei Block 704 extrahiert
das Verfahren die Herkunftsadresse aus dem Datenpaket. Bei Block 706 ermittelt
das Verfahren, ob sich die Herkunftsadresse für das Datenpaket in der EAT 504 befindet.
Wenn sich die Herkunftsadresse in der EAT 504 befindet,
geht das Verfahren zu Block 708 weiter und aktualisiert
einen Alterungszähler
in der EAT 504 und ermöglicht
es, dass Datenpaket ohne Unterbrechung vollständig zu übertragen. Das Verfahren geht dann
zu Block 710 weiter und beendet die Verarbeitung des aus
dem Ring-Ausgangsanschluss kommenden Datenpakets.
-
Wenn das Verfahren bei Block 706 feststellt,
dass sich die Herkunftsadresse des aus dem Ring-Ausgangsanschluss
kommenden Datenpakets nicht in der EAT 504 befindet, geht
das Verfahren zu Block 712 weiter. Bei Block 712 ermittelt
das Verfahren, ob sich die aus dem Datenpaket an dem Ring-Ausgangsanschluss entnommene
Herkunftsadresse in dem FIFO 510 befindet. Ist dies nicht
der Fall, geht das Verfahren zu Block 714 weiter und fügt die aus
dem Datenpaket an dem Ring-Ausgangs-anschluss entnommene Herkunftsadresse
der EAT 504 hinzu. Dies entspricht dem Fall eines Datenpakets,
das von einer einem lokalen Anschluss des Schalters 502 zugeordneten
Netzwerkvorrichtung stammt, d. h. das Datenpaket kommt ohne in den
Ring-Eingangsanschluss zu gelangen aus dem Ringausgangsanschluss.
Das Verfahren geht zu Block 710 weiter.
-
Wenn das Verfahren bei Block 712 feststellt,
dass sich die Herkunftsadresse für
das Datenpaket in dem FIFO 510 befindet, geht das Verfahren
zu Block 716 weiter. Bei Block 716 ermittelt das
Verfahren, ob die Herkunftsadresse die nächste, dem FIFO 510 zu
entnehmende Herkunftsadresse ist. Wenn die Herkunftsadresse nicht
die nächste
Adresse in dem FIFO 510 ist, wissen wir, dass wenigstens
ein Datenpaket an einer lokalen Adresse endete. Daher geht das Verfahren
zu Block 718 weiter und löscht die nächste Adresse des FIFO 510 und
kehrt zu Block 716 zurück.
-
Wenn bei Block 716 festgestellt
wird, dass die Herkunftsadresse die nächste Adresse in dem FIFO 510 ist,
geht das Verfahren zu Block 720 weiter und löscht die
nächste
Adresse des FIFO 510. Dies entspricht dem Fall, in dem
ein Datenpaket von dem Ring-Eingangsanschluss durch den Schalter 502 zu
dem Ring-Ausgangsanschluss befördert
wurde.
-
Gemäß diesem Verfahren wird daher
eine Adresstabelle, die den Adresstabellen für die lokalen Anschlüsse des
Schalters 502 entspricht, außerhalb des Schalters 502 aufrecht
erhalten, so dass Datenpakete, die sich um das Ringnetzwerk bewegt
haben, identifiziert und gefiltert werden können.
-
Die gleiche Technik kann mit einer
Vermittlungsidentifizierungsnummer und einem Sprungzähler verwendet
werden. In diesem Fall ist die Verarbeitung die Gleiche. Der FIFO 510 wird
jedoch größer sein,
um an jeder logischen Stelle eine Reihe Bits unterzubringen, die
eine oder alle Herkunftsadressen, die Vermittlungsidentifizierungsnummer
und den Sprungzähler
enthalten. Wenn ein Sprungzähler
enthalten ist, würde
er an einer Stelle um eins erhöht
und bei Empfang von dem Ring überprüft werden.
-
6 ist
ein Flussdiagramm einer veranschaulichenden Ausführungsform eines Verfahrens
für die erste
Zustandsmaschine 506 von 5 gemäß den Lehren
der vorliegenden Erfindung. Diese Zustandsmaschine wird verwendet,
um zu ermitteln, wann eine Herkunftsadresse eines Datenpakets an
dem Ring-Eingangsanschluss des Schalters 502 einer einem
lokalen Anschluss des Schalters 502 zugeordneten Netzwerkvorrichtung
entspricht. Das Verfahren beginnt bei Block 600. Bei Block 600 beginnt
das Verfahren, ein Datenpaket zu dem Ring-Eingangsanschluss des Schalters 502 weiter
zu leiten. Bei Block 604 extrahiert das Verfahren eine
Herkunftsadresse aus dem Datenpaket. Bei Block 606 vergleicht
das Verfahren die Herkunftsadresse des eingehenden Datenpakets mit
den Adressen in der EAT 504. Falls dabei keine Übereinstimmung in
der EAT 504 für
die Herkunftsadresse des Datenpakets vorliegt, geht das Verfahren
zu Block 608 weiter und legt die Herkunftsadresse in dem
FIFO 510 ab und das gesamte Datenpaket wird ohne Unterbrechung
in den Schalter 502 übertragen.
Das Verfahren beendet dann die Verarbeitung des Datenpakets bei
Block 612 und kehrt zu Block 600 zurück, um das
nächste
Datenpaket zu verarbeiten.
-
Wenn sich bei Block 606 die
Herkunftsadresse des Datenpakets nicht in der EAT 504 befindet,
geht das Verfahren zu Block 610 weiter und beendet (löscht) das
in den Ring-Eingangsanschluss des Schalters 502 hineingehende
Datenpaket. Dies verhindert, dass sich ein Datenpaket, das von einem
lokalen Anschluss eines Schalters stammt, auf undefinierte Weise
um das Ringnetzwerk fortbewegt.
-
8 ist
ein Blockdiagramm einer alternativen Ausführungsform eines Ringschalters,
der im Ganzen bei 800 angegeben und gemäß den Lehren der vorliegenden
Erfindung aufgebaut ist. Diese Ausführungsform nutzt den Vorteil
des Umstandes, dass ein primäres
Ziel dieses Verfahrens darin besteht, Datenpakete zu erfassen, die
an einem lokalen Anschluss entstehen und einen vollständigen Umlauf
um das Ringnetzwerk erreicht haben und an dem Ring-Eingangsanschluss
des gleichen Ringschalters angekommen sind. Sie nutzt auch den Vorteil
des Umstandes, dass aus dem Ring-Ausgangsanschluss herauskommende
Datenpaket ledig lich von einer von zwei Quellen kommen können: ein
lokaler Anschluss oder der Ring-Eingangsanschluss. Durch Verfolgen
und Vergleichen der Adressen für
aus dem Ring-Ausgangsanschluss herausgehenden Datenpaketen und der
Adressen von in den Ring-Eingangsanschluss gelangenden Datenpaketen
in einer externen Adresstabelle, die am einfachsten in einem oder
mehreren Speichern mit adressierbarem Inhalt (Assoziativspeicher)
EACAM 804 implementiert ist, kann der Ringschalter 800 ermitteln,
welche der Adressen einem lokalen Anschluss entspricht. Hierfür weist
der Ringschalter 800 einen Schalter 802 auf, der
einen umprogrammierten Ethernet-Schalter umfassen kann, wie z. B.
einen Thunderswitch-Chip-Schalter
von Texas Instruments, einen Galileo-Chip- oder PMC-Sierra-Chip-Schalter
der oben unter Bezugnahme auf 5 beschriebenen
Arten. Der Ringschalter 800 weist eine erste Zustandsmaschine 806 auf,
die angeschlossen ist, um für den
Ring-Eingangsanschluss des Schalters 802 vorgesehene Datenpakete
zu empfangen. Der Ringschalter 800 weist ferner eine zweite
Zustandsmaschine 808 auf, die auf Datenpakete von dem Ring-Ausgangsanschluss
des Schalters 802 anspricht. Die ersten und zweiten Zustandsmaschinen 806 und 808 bauen
eine Tabelle in dem EACAM 804 auf und halten diese dort
aufrecht, die angibt, welche Anschlüsse lokale Anschlüsse sind,
so dass die erste Zustandsmaschine 806 Datenpakete von
dem Ringnetzwerk entfernen kann, die von einem lokalen Anschluss
des Schalters 802 stammen und einen vollständigen Umlauf
um das Ringnetzwerk zurück
gelegt haben. Der Betrieb der ersten und zweiten Zustandsmaschinen 806 und 808 ist
unten unter Bezugnahme auf die 9 bzw.
10 beschrieben.
-
10 ist
ein Flussdiagramm, das eine Ausführungsform
eines Verfahrens für
die zweite Zustandsmaschine 808 von 8 gemäß den Lehren
der vorliegenden Erfindung veranschaulicht. Das Verfahren beginnt
bei Block 1000, ein Datenpaket zu verarbeiten. Das Verfahren
geht zu Block 1002 weiter und beginnt, das Datenpaket auf
das Ringnetzwerk zu übertragen.
Bei Block 1004 extrahiert das Verfahren eine Herkunftsadresse
aus dem Datenpaket.
-
Bei Block 1006 ermittelt
das Verfahren, ob sich die Herkunftsadresse des Datenpakets von
dem Ring-Ausgangsanschluss des Schalters 802 in der Tabelle
des EACAM's 804 befindet.
Wenn die Adresse bereits in dem EACAM 804 gespeichert wurde,
geht das Verfahren zu Block 1008 weiter und aktualisiert
einen Alterungszähler
in dem EACAM 804 für
die Adresse und lässt
zu, dass das Datenpaket ohne Unterbrechung vollständig übertragen
wird. Das Verfahren schliesst die Verarbeitung des Datenpakets bei
Block 1010 ab.
-
Wenn sich bei Block 1006 die
Herkunftsadresse für
das Datenpaket nicht in dem EACAM 804 befindet, geht das
Verfahren zu Block 1012 weiter. In diesem Fall hat das
Verfahren festgestellt, dass das Datenpaket von einem lokalen Anschluss
stammen muss, und daher wird die Herkunftsadresse in der Tabelle
in dem EACAM 804 mit einer auf "1" gesetzten,
lokalen Bitidentifizierung abgelegt. Die "1" gibt
an, dass die Adresse einer Adresse für eine Netzwerk vorrichtung
entspricht, die einem lokalen Anschluss des Schalters 802 zugeordnet ist.
Das Verfahren geht dann zu Block 1010 weiter und endet.
-
9 ist
ein Flussdiagramm, das eine Ausführungsform
eines Verfahrens für
die erste Zustandsmaschine 806 von 8 gemäß den Lehren
der vorliegenden Erfindung veranschaulicht. Das Verfahren beginnt bei
Block 900, ein Datenpaket zu verarbeiten. Das Verfahren
geht zu Block 902 weiter und stellt das Datenpaket an dem
Ring-Eingangsanschluss des Schalters 802 bereit. Bei Block 904 extrahiert
das Verfahren eine Herkunftsadresse aus dem Datenpaket.
-
Bei Block 906 ermittelt
das Verfahren, ob sich die Herkunftsadresse des dem RingEingangsanschluss des
Schalters 802 bereitgestellten Datenpakets in der Tabelle
des EACAM's 804 befindet.
Wenn die Adresse nicht bereits in dem EACAM 804 gespeichert
wurde, geht das Verfahren zu Block 908 weiter und legt
die Adresse in dem EACAM 804 mit einem auf "0" gesetzten, lokalen Bitidentifizierung
ab und das gesamte Datenpaket wird ohne Unterbrechung in den Schalter 802 übertragen.
Die "0" gibt an, dass die
Adresse nicht für einen
lokalen Anschluss des Schalters 802 dient. Das Verfahren
schliesst die Verarbeitung des Datenpakets bei Block 910 ab.
-
Wenn sich bei Block 906 die
Herkunftsadresse für
das Datenpaket in dem EACAM 804 befindet, geht das Verfahren
zu Block 912 weiter. Das Verfahren ermittelt, ob die lokale
Bitidentifizierung gleich "1" ist, d. h. die Adresse
einem lokalen Anschluss zugeordnet ist. Wenn die lokale Bitidentifizierung "0" ist, endet das Verfahren bei Block 910.
Wenn das Verfahren andererseits bei Block 912 feststellt,
dass die lokale Bitidentifizierung "1" ist,
geht das Verfahren zu Block 914 weiter und beendet (löscht) das
in den Ring-Eingangsanschluss des Schalters 802 gehende
Datenpaket. Das Verfahren endet bei Block 910.
-
Eine alternative Ausführungsform
kann vielmehr zwei getrennte CAM-Speicher als einen CAM mit einem
auf "0" oder "1" gesetzten Bit verwenden, um Ring- gegenüber lokalen
Anschlussadressen anzugeben. Beispielshalber ist eine derartige
Ausführungsform
unten in 12 verwendet.
Ferner können
andere Werte als "0" und "1" verwendet werden, um zwischen lokalen
und Ringadressen zu unterscheiden.
-
12 ist
ein Blockdiagramm eines Verfahrens zum Verarbeiten von Paketen in
einem Ringschalter gemäß den Lehren
der vorliegenden Erfindung. Bei dieser Ausführungsform nutzt der Ringschalter
einen Zähler
oder eine Identifizierungsnummer, die an Datenpakete angehängt wird,
um zu ermitteln, ob ein Paket einen vollen Umlauf um ein Ringnetzwerk
zurück
gelegt hat.
-
Bei Block 1200 werden Pakete
an einem Ring-Eingangsanschluss eines Ringschalters empfangen. Bei
Block 1202 ermittelt das Verfahren, ob die an das Datenpaket
angehängte
Identifizierungsnummer die gleiche wie die Identifizierungsnummer
für den
Ringschalter ist. Identifizierungsnummern werden an Datenpakete angehängt, wenn
sie an einem lokalen Anschluss des Ringschalters empfangen werden.
Wenn die Identifizierungsnummer des aktuellen Pakets die gleiche
wie die Identifizierungsnummer der aktuellen Ringschalters ist, beendet
das Verfahren bei Block 1204 das Datenpaket, löscht dieses
oder zerstört
es auf andere Weise, weil es einen vollen Umlauf um das Ringnetzwerk
zurück
gelegt hat.
-
Bei Block 1206 ermittelt
das Verfahren, ob ein an das Datenpaket angehängter Sprungzähler gleich Null
ist. Der Sprungzähler
ist eine Zahl, die an Datenpakete bei dem Ringschalter angehängt wird,
der das Datenpaket ausgibt. Der Sprungzähler wird bei jedem nachfolgenden
Ringschalter erhöht,
der das Datenpaket verarbeitet und es zurück auf das Ringnetzwerk zur Übertragung
zu dem nächsten
Ringschalter ausgibt. Der Sprungzähler kann beispielsweise eine
Zahl mit acht Bit umfassen, so dass sich der Zähler auf Null zurück setzt,
wenn das Datenpaket wenigstens 256 Ringschalter passiert hat. Alternativ
kann jede andere geeignete Anzahl von Bits für den Sprungzähler verwendet
werden. Ferner ist es verständlich,
dass der Sprungzähler und
die Identifizierungsnummer zusammen oder einzeln verwendet werden
können.
Wenn das Verfahren feststellt, dass der Sprungzähler auf Null gesetzt ist,
geht das Verfahren zu Block 1204 weiter, weil das Paket
wenigstens einen vollständigen
Umlauf um das Ringnetzwerk zurückgelegt
hat.
-
Wenn das Verfahren bei Block 1206 feststellt,
dass das an dem Ring-Eingangs-anschluss ankommende Paket sich nicht
um den Ring bewegt hat, wird das Paket von dem Schalter so verarbeitet,
dass es entweder aus einem lokalen Anschluss oder aus dem Ring-Ausgangsanschluss
hinaus übertragen
wird. Das Datenpaket wird bei Block 1208 in einem First-In-First-Out-(FIFO)-Puffer
gespeichert. Die Herkunftsadresse des Datenpakets wird in einem
Speicher, am Einfachsten ein Speicher mit adressierbarem Inhalt
(Assoziativspeicher) (CAM), für
die Ringadressen (der Ring-CAM) oder die Alterung der Adresse wird
in dem Ring-CAM bei Block 1210 aktualisiert. Bei Block 1212 ermittelt
das Verfahren, ob der Ring-CAM voll ist, falls dies der Fall ist,
werden die ältesten
Adressen in dem Ring-CAM, wie von der Alterungsinformation bewertet,
von dem Ring-CAM bei Block 1214 gelöscht. Alternativ kann der Ring-CAM bei Block 1214 einfach
zurück
gesetzt werden, um alle Adressen zu löschen und dem Ring-CAM zu ermöglichen,
die aktuellsten Adressen zu erlernen.
-
Während
das Datenpaket in dem FIFO gepuffert wird, wird die Zieladresse
des Datenpakets in dem Ring-CAM oder einem CAM bei Block 1216 bzw. 1218 nachgeschlagen,
der die den lokalen Anschlüssen
des Ringschalters zugeordneten Adressen enthält (der lokale CAM). Bei den
Blöcken 1216 und 1218 werden
basierend auf den Nachschlagevorgängen in den Ring- und lokalen CAM's logische Signale
erzeugt. Das logische Signal von Block 1216 wird Logik gattern 1220 und 1222 bereitgestellt.
Ferner wird das logische Signal von Block 1218 Logikgattern 1220 und 1224 bereitgestellt.
Das Logikgatter 1220 wird verwendet, um bei Block 1208 verwendete
Datenpakete von dem FIFO zu einem der lokalen Anschlüsse 1222 über den
Schalter 1228 weiter zu leiten. Es wird angemerkt, dass
der Schalter 1228 bei dieser Ausführungsform einen typischen
Chip für
eine physikalische Ethernet-Schnittstelle umfasst, wie z. B. ein
ML6692-Schalter von Microlinear im Voll-Duplex-Modus. Das Logikgatter 1222 wird
verwendet, um bei Block 1230 Adressen zu löschen, wenn
die Adresse sowohl in dem Ring- als auch dem lokalen CAM aufgefunden
wird. Dies geschieht, wenn eine Netzwerkvorrichtung von einem Schalter
in dem Ring zu einem anderen Schalter in dem Ring verlagert wurde.
Löschen
der Adressen ermöglicht
es dem System, die neue Stelle der Vorrichtung zu erlernen. Schließlich wird das
Logikgatter 1224 verwendet, um bei Block 1208 von
dem FIFO verwendete Datenpakete bei Block 1238 durch einen
anderen FIFO "Von-Ring-FIFO" zu dem Ring-Ausgangsanschluss
weiter zu leiten.
-
Das Verfahren von 12 ist auch für die Verarbeitung von an lokalen
Anschlüssen 1226 empfangenen
Datenpaketen verantwortlich. Solche Datenpakete werden bei Block 1232 durch
den Schalter 1228 zu einem "Von-lokal"-FIFO weitergeleitet. Bei Block 1234 wird
die Herkunftsadresse des Datenpakets in einem Speicher, am einfachsten
ein CAM, dem lokalen CAM gespeichert oder die Alterung der Adresse
wird in dem lokalen CAM aktualisiert. Bei Block 1236 ermittelt
das Verfahren, ob der lokale CAM voll ist und, wenn dies der Fall
ist, werden bei Block 1238 basierend auf den Alterungsinformationen
die ältesten
Adressen von dem CAM gelöscht.
Alternativ kann der lokale CAM bei Block 1238 einfach zurück gesetzt
werden, um alle Adressen zu löschen
und es dem lokalen CAM zu ermöglichen,
die aktuellsten Adressen zu erlernen. Sowohl für den lokalen CAM als auch
den Ring-CAM können
andere Alterungsformen verwendet werden, wie z. B. ein Löschen von
Adressen, die seit 5 Minuten oder eine andere geeignete Zeitdauer
nicht verwendet wurden. Das gleiche gilt für die Alterungsanforderungen
aller anderen in dieser Beschreibung beschriebenen Ausführungsformen.
-
Das Verfahren ordnet Datenpakete
von den Von-lokal- und Von-Ring-FIFOs aus dem Ringausgangsanschluss
hinaus auf den Ring an. Entscheidungsblock 1240 erzeugt
ein logisches Signal, das für
Datenpakete von den Von-lokal- und Von-Ring-FIFOs Zugriff auf den
Ring-Ausgangsanschluss
steuert. Wenn der Von-Ring-FIFO voll ist, werden das Logikgatter 1244 freigegeben
und das Logikgatter 1246 blockiert. Daher werden bei Block 1248 Datenpakete
von dem Von-Ring-FIFO aus dem Ring-Ausgangsanschluss heraus bereitgestellt,
nachdem bei Block 1250 der Sprungzähler erhöht wird. Wenn der Von-Ring-FIFO
voll ist, werden das Logikgatter 1246 freigegeben und das
Logikgatter 1244 blockiert. Daher werden bei Block 1248 Datenpakete
von dem Von-lokal-FIFO aus dem Ringausgangsanschluss heraus bereitgestellt,
nachdem bei Block 1250 der Sprungzähler erhöht wird.
-
Es wird angemerkt, dass bei Block 1252 eine
Zustandsmaschine verwendet wird, um über die Anordnung von Paketen
auf den Ring-Ausgangsanschluss von dem Von-lokal-Puffer und dem
Von-Ring-Puffer zu entscheiden, wenn beide Puffer voll sind. Wenn
der Von-lokal-Puffer einen Grenzwert überschreitet, z. B. halbvoll,
wird bei einer Implementierung ein Signal zu den lokalen Anschlüssen gesendet,
um eine Übertragung von
weiteren Paketen zu dem Von-lokal-FIFO
zurück
zu stellen, bis sich der Von-lokal-FIFO unter den Grenzwert nach
unten bewegt.
-
Es wird auch angemerkt, dass das
Paket "per broadcast" sowohl zu den lokalen
Anschlüssen
als auch zu dem Ring-Ausgangsanschluss übertragen wird, wenn sich die
Adresse eines an dem Ring-Eingangsanschluss empfangenen Pakets weder
in dem lokalen CAM noch in dem Ring-CAM befindet, weil weder Gatter 1220 noch
Gatter 1224 basierend auf der Ausgabe der Entscheidungsblöcke 1216 und 1218 blockiert
werden würden.
-
13 ist
ein Blockdiagramm eines Verfahrens zum Verarbeiten von Paketen in
einem Ringschalter gemäß den Lehren
der vorliegenden Erfindung. Bei dieser Ausführungsform verwendet der Ringschalter
einen Zähler
oder eine Identifizierungsnummer, die an Datenpakete angehängt ist,
um zu ermitteln, ob ein Paket einen vollständigen Umlauf um ein Ringnetzwerk
zurück
gelegt hat.
-
Bei Block 1300 werden an
einem Ring-Eingangsanschluss eines Ringschalters Pakete empfangen. Bei
Block 1302 ermittelt das Verfahren, ob die dem Datenpaket
angehängte
Identifizierungsnummer die gleiche wie die Identifizierungsnummer
für den
Ringschalter ist. Identifizierungsnummern werden an Datenpakete angehängt, wenn
sie an einem lokalen Anschluss des Ringschalters empfangen werden.
Wenn die Identifizierungsnummer des aktuellen Pakets die gleiche
wie die Identifizierungsnummer des aktuellen Ringschalters ist, vernichtet
das Verfahren das Datenpaket bei Block 1304, da es einen
vollständigen
Umlauf um das Ringnetzwerk zurück
gelegt hat.
-
Bei Block 1306 ermittelt
das Verfahren, ob ein an das Datenpaket angehängter Sprungzähler gleich Null
ist. Der Sprungzähler
ist eine Zahl, die an Datenpakete bei dem Ringschalter angehängt wird,
der das Datenpaket ausgibt. Der Sprungzähler wird bei jedem nachfolgenden
Ringschalter erhöht,
der das Datenpaket verarbeitet und es zur Übertragung zu dem nächsten Ringschalter
zurück
auf das Ringnetzwerk ausgibt. Der Sprungzähler kann beispielsweise eine
Zahl mit acht Bit umfassen, so dass sich der Zähler auf Null zurück setzt,
wenn das Datenpaket wenigstens 256 Ringschalter passiert hat. Alternativ
kann jede andere geeignete Anzahl von Bits für den Sprungzähler verwendet
werden. Ferner ist es verständlich,
dass der Sprungzähler und
die Identifizierungsnummer zusammen oder einzeln verwendet werden
können.
Wenn das Verfahren feststellt, dass der Sprungzähler auf Null gesetzt ist,
geht das Verfahren zu Block 1304 weiter, da das Paket wenigstens
einen vollständigen
Umlauf um das Ringnetzwerk zurück
gelegt hat.
-
Wenn das Verfahren bei Block 1306 feststellt,
dass das an dem Ring-Eingangs-anschluss ankommende Paket sich nicht
um den Ring bewegt hat, wird das Paket durch den Schalter so verarbeitet,
dass es entweder aus einem lokalen Anschluss oder dem Ring-Ausgangsanschluss
heraus übertragen
wird. Das Datenpaket wird bei Block 1308 in einem First-In-First-Out-(FIFO)-Puffer
gespeichert. Die Herkunftsadresse des Datenpakets wird in einem
Speicher, am Einfachsten ein Speicher mit adressierbarem Inhalt
(Assoziativspeicher) (CAM) für
die Ringadressen (der Ring-CAM) gespeichert oder die Alterung der
Adresse wird in diesem Speicher bei Block 1310 aktualisiert.
Bei Block 1312 ermittelt das Verfahren, ob der Ring-CAM voll ist, ist
dies der Fall, wird der Ring-CAM altersmäßig behandelt, indem die älteste Adresse,
wie durch die Alterungsinformation in dem Speicher festgelegt, bei
Block 1314 gelöscht
wird. Alternativ kann der Ring-CAM bei Block 1314 einfach zurück gesetzt
werden. Dies löscht
alle Adressen in dem Speicher, wobei es dem Speicher ermöglicht wird, die
aktuellsten Adressen zu erlernen.
-
Während
das Datenpaket in dem FIFO gepuffert wird, wird die Zieladresse
des Datenpakets in dem Ring-CAM und einem CAM bei den Blöcken 1316 bzw.
1318 nachgeschlagen, der die den lokalen Anschlüssen des Ringschalters zugeordneten
Adressen enthält
(der lokale CAM). Bei den Blöcken 1316 und 1318 werden basierend
auf den Nachschlagevorgängen
in den Ring- und lokalen CAM's
logische Signale erzeugt. Das logische Signal von Block 1316 wird
Logikgattern 1320 und 1322 bereitgestellt. Ferner
wird das logische Signal von Block 1318 Logikgattern 1320 und 1324 bereitgestellt.
Das Logikgatter 1320 wird verwendet, um bei Block 1308 von
dem FIFO verwendete Datenpakete durch den Schalter 1328 hindurch
zu einem der lokalen Anschlüsse 1326 zu
führen.
Es wird angemerkt, dass der Schalter 1328 bei dieser Ausführung einen
typischen Chip für
eine physikalische Ethernet-Layer-Schnittstelle umfasst, wie z.
B. einen ML6692-Schalter von Microlinear im Halb-Duplex-Modus. Das
Logikgatter 1322 wird verwendet, um bei Block 1320 Adressen
zu löschen, wenn
die Adresse sowohl in dem Ring- als auch in dem lokalen CAM aufgefunden
wird. Schließlich
wird das Logikgatter 1324 verwendet, um bei Block 1308 von
dem FIFO verwendete Datenpakete bei Block 1338 durch einen
anderen FIFO "Von-Ring-FIFO" zum dem Ring-Ausgangsanschluss
hindurch zu leiten.
-
Das Verfahren von 13 ist auch für die Verarbeitung von an lokalen
Anschlüssen 1326 empfangenen
Datenpaketen verantwortlich. Solche Datenpakete werden bei Block 1332 durch
den Schalter 1328 zu einem "Von-lokal"-FIFO geleitet. Bei Block 1334 wird
die Herkunftsadresse des Datenpakets in dem lokalen CAM gespeichert
oder die Alterung der Adresse wird in dem lokalen CAM aktualisiert.
Bei Block 1336 ermittelt das Verfahren, ob der lokale CAM
voll ist und, ist dies der Fall, wird der lokale CAM bei Block 1338 altersmäßig behan delt.
Dies kann erreicht werden, indem die älteste Adresse, wie durch die
in dem Speicher gespeicherte Alterungsinformation festgelegt, gelöscht oder
alternativ der Speicher bei Block 1338 einfach zurück gesetzt wird.
Dies löscht
alle Adressen und ermöglicht
es dem CAM, die aktuellsten Adressen zu erlernen.
-
Eine Vielzahl anderer Alterungsschemata
kann sowohl bei dem Ring-CAM als auch bei dem lokalen CAM verwendet
werden, wie z. B. ein periodisches Löschen von Adressen, die älter als
5 Minuten oder eine andere geeignete Zeit sind. Ferner können sowohl
das Verfahren in 12 als
auch das Verfahren in 13 in
einen einzelnen Speicher oder CAM sowohl für Ring- als auch lokale Adressen
implementiert werden. Während
eine Verwendung eines einzelnen Speichers die Herstellungskosten
senken würde,
vereinfacht eine Verwendung von zwei Speichern in großem Maße den Zeitablauf
der Logik, was es einfacher macht, die Schaltkreisanordnung auszulegen.
-
Das Verfahren ordnet Datenpakete
von den Von-lokal- und Von-Ring-FIFOs über den Ring-Ausgangsanschluss
auf dem Ring an. Ein Entscheidungsblock 1340 erzeugt ein
logisches Signal, das für
Datenpakete von den Von-lokal- und Von-Ring-FIFOs Zugriff auf den
Ring-Ausgangsanschluss
steuert. Wenn der Von-Ring-FIFO voll ist, werden das Logikgatter 1344 freigegeben
und das Logikgatter 1346 blockiert. Daher werden Datenpakete
von dem Von-Ring-FIFO
bei Block 1348 aus dem Ring-Ausgangs-anschluss heraus bereitgestellt,
nachdem der Sprungzähler
bei Block 1350 erhöht
wird. Wenn der Von-Ring-FIFO nicht voll ist, werden das Logikgatter 1346 freigegeben
und das Logikgatter 1344 blockiert. Daher werden Datenpakete
von dem Von-Lokal-FIFO bei Block 1348 aus dem Ring-Ausgangsanschluss
heraus bereitgestellt, nachdem der Sprungzähler bei Block 1350 erhöht wird.
-
Es wird angemerkt, dass bei Block 1352 Kollisionen
erzeugt werden, um den Schalter 1328 dazu zu bringen, von Übertragungen
Abstand zu nehmen, wenn der Von-Lokal-Puffer voll ist.
-
Es wird ebenfalls angemerkt, dass
das Paket "per broadcast" sowohl zu den lokalen
Anschlüssen
als auch zu dem Ring-Ausgangsanschluss übertragen wird, wenn sich die
Adresse eines an dem Ring-Ausgangsanschluss empfangenen Pakets weder
in dem lokalen CAM noch in dem Ring-CAM befindet, da weder das Gatter 1320 noch
das Gatter 1324 basierend auf der Ausgabe der Entscheidungsblöcke 1316 und 1318 blockiert
werden würde.
-
Zusammenfassung
-
Auch wenn hier spezielle Ausführungsformen
veranschaulicht und beschrieben wurden, werden Fachleute auf dem
Gebiet erkennen, dass eine Anordnung, die geplant ist, um den gleichen
Effekt zu erreichen, an die Stelle der speziellen, gezeigten Ausführungsformen
treten kann. Diese Anmeldung soll beliebige Anpassungen oder Variationen
der vorliegenden Erfin dung abdecken. Beispielsweise können Ringschalter
des beschriebenen Typs unter Verwendung jedes geeigneten Verfahrens
zum Übertragen
von Daten zwischen Schaltern mit einander verbunden sein, um einen
Ring zu bilden. Dies umfasst ohne Einschränkung drahtlose, verdrahtete,
gedruckt verdrahtete, mittels Halbleiterdurchgangsleitungen ausgeführte, faseroptische
und andere Übertragungstechniken.
Ferner können
die verschiedenen, hier beschriebenen Schritte der Verfahren in
Software, Firmware oder Hardware implementiert werden. Des Weiteren
umfassen Ausführungsformen
der vorliegenden Erfindung einen einzelnen integrierten Schaltkreis,
der ausgelegt ist, um die verschiedenen, oben beschriebenen Funktionen
auszuführen.
Alternativ kann ein modifizierter herkömmlicher Schalter mit einer
zusätzlichen,
wie beispielsweise in den 5, 8, 12 und 13 gezeigten
Schaltkreisanordnung verwendet werden. Ferner können die verschiedenen Techniken,
die zum Identifizieren von Paketen beschrieben sind, die sich um das
Ringnetzwerks bewegt haben, bei Ringschaltern verwendet werden,
die entweder einen bidirektionalen Ringanschluss oder Ring-Eingangs- und Ring-Ausgangsanschlüsse nutzen.
Ferner können
die lokalen Anschlüsse,
solange sie eine Herkunftsadresse, eine Zieladresse und Nutzdaten
enthalten, andere als Ethernet-Anschlüsse sein.
Es wird auch angemerkt, dass vielerlei andere Speichervorrichtungen
als CAMs verwendet werden können,
um die Adresstabellen gemäß den Lehren
der vorliegenden Erfindung zu implementieren. Die verschiedenen,
in der Beschreibung beschriebenen Alterungsverfahren können bei
jeder der Ausführungsformen
verwendet werden. Des Weiteren können
andere, gut bekannte Alterungsverfahren anstelle der beschriebenen
Verfahren substituiert werden, ohne sich dabei vom Geist und Umfang
der vorliegenden Erfindung zu entfernen. Ferner ist es verständlich,
dass jede Ausführungsform
entweder mit einer einzelnen Adresstabelle für einen Ringschalter oder mit
mehreren Adresstabellen arbeitet. Es ist ferner verständlich,
dass bei jeder der oben beschriebenen Ausführungsformen von dem Sprungzähler, dem
Schalteridentifizierungssignal oder dem Suchen nach einer Herkunftsadresse
in einer Adresstabelle für
einen lokalen Anschluss eines oder mehrere verwendet werden können, um
Pakete zu entfernen, die einen vollständigen Umlauf um den Ring zurück gelegt
haben. In jedem Fall, in dem oben ein FIFO, ein CAM oder eine andere
Speichervorrichtung spezifiziert ist, wird angemerkt, dass ein Speicher
mit wahlfreiem Zugriff mit Pointern auf einzelne Puffer oder Stellen
verwendet werden könnte.
Zusätzlich
kann eine Vielzahl von Dienstleistungen über das Ringnetzwerk bereitgestellt
werden, indem Identifizierungen oder "Tags" von
dem Netzwerk transportierten Paketen vorangestellt, nachgestellt
oder in diese eingebunden werden. Beispielsweise können durch
Verwendung derartige Tags Dienstleistungen, wie z. B. virtuelle
lokale Bereichsnetzwerke (VLANs), Quality-Of-Service (QOS) und andere
Dienstleitungen, implementiert werden.