-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung betrifft im Allgemeinen Netze wie zum Beispiel Telefon-
und Computernetze und betrifft speziell Routinginformationen durch
solche Netze.
-
ALLGEMEINER
STAND DER TECHNIK
-
Ein
Netz ermöglicht
zwei oder mehr Teilnehmern, miteinander zu kommunizieren. In ihrer
einfachsten Form schließen
Netze im Allgemeinen Übertragungsleitungen
und Vermittlungseinrichtungen ein (z.B. Router, Vermittlungsrouter,
Switches usw.). Die Übertragungsleitungen übertragen
Signale (z.B. elektrische, optische usw.), während die Vermittlungseinrichtungen
Zwischenstationen sind, die vorübergehende
Verbindungen zwischen Übertragungsleitungen
aufbauen. In Telefonnetzen zum Beispiel geht die Leitung eines Anrufers
zu einer Vermittlungseinrichtung, wo der tatsächliche Anschluß mit dem
gerufenen Teilnehmer hergestellt wird. In Computernetzen empfangen
Einrichtungen wie zum Beispiel Router Nachrichten auf dem Netz und
leiten die Nachrichten an ihre richtigen Ziele weiter. Computernetze
können
so klein wie ein lokales Netz (LAN) sein, das aus einigen Computern,
Druckern und anderen Geräten
besteht, oder es kann aus vielen Computern bestehen, die über ein
ausgedehntes geographisches Gebiet (z.B. das Internet) verteilt
sind.
-
Die
US-Patentschrift 6,101,188, die der FR-A-2753323 entspricht, offenbart
einen Vernetzungsrouter, der adreßlernende Tabellen umfaßt, die
in sogenannten Bridgegruppen enthalten sind. Der Vernetzungsrouter nimmt
physikalische Segmente der LANs in einen Switching-Hub auf, der
sie für
virtuelle LANs substituiert, ohne die Software der Endgeräte zu modifizieren
oder das Endgerät
einzustellen, und stellt eine Routingfunktion der dritten Schicht
bereit, ohne den Freiheitsgrad in der virtuellen LAN-Einstellung
des Switching-Hubs zu verschlechtern.
-
Die
US-Patentschrift 5,740,175 offenbart einen Umleitungsdatenbankcache
für einen
integrierten Vermittlungscontroller, der die Adreß-zu-Port-Mappings
für alle
Workstations oder andere Einrichtungen beinhaltet, die mit der Mehrzahl
der Ports des Switches verbunden sind, und außerdem mindestens einen CAM-Cache einschließt, der
mit dem entsprechenden einen oder mehreren der Ports des Switches
verbunden ist. Der CAM-Cache speichert ausgewählte Adreß-zu-Port-Mappings, um die Leistungsfähigkeit
des Vermittlungscontrollers zu verbessern.
-
Ein
Beispielcomputernetz 10 ist in 1A gezeigt.
Das Netz schließt
zwei lokale Segmente 12 und 14 und den Anschluß mit einem
entfernten Netz 16 ein. Die mit A bis J bezeichneten Knoten
stellen die Computer dar, die mit den lokalen Segmenten verbunden
sind. Eine Vermittlungseinrichtung 20 schließt drei
Ports 22 bis 24 ein und vermittelt den Netzverkehr
zwischen den Segmenten 12, 14 und dem entfernten
Netz 16. Das Netz 16 kann ebenfalls Vermittlungseinrichtungen
einschließen,
wie zum Beispiel die Vermittlungseinrichtung 21, die dann
weitere Segmente (nicht gezeigt) mit dem Netz verbindet. Die Vermittlungseinrichtung 20 ermöglicht den
Knoten auf einem Segment, mit Knoten auf anderen Segmenten und anderen
Vermittlungseinrichtungen 30 zu kommunizieren. Die Knoten
kommunizieren miteinander durch ein Protokoll (z.B. HTTP, TCP/IP,
SMB usw.), was den Knoten ermöglicht,
Netzframes zu senden und zu empfangen (ein Netzframe schließt eine
Zieladresse, eine Quelladresse und ein Datenfeld ein). Wenn die
Vermittlungseinrichtung 20 einen Frame von einem Knoten empfängt, analysiert
sie die Zieladresse durch Durchsuchen einer Nachschlagetabelle 26,
die in 1B gezeigt ist. Die Nachschlagetabelle 26 schließt Tabelleneinträge ein,
die ein Netzadreßfeld
und ein Portfeld aufweisen. Wenn die Zieladresse mit einer Netzadresse
in der Nachschlagetabelle übereinstimmt,
ermittelt die Vermittlungseinrichtung 20, welcher Port
den Frame weiterzuleiten hat, indem die Portnummer erhalten wird,
die der übereinstimmenden
Netzadresse entspricht. Wenn zum Beispiel Knoten A auf Segment 12 eine
Nachricht an Knoten H auf Segment 14 sendet, empfängt die
Vermittlungseinrichtung 20 die Nachricht vom Knoten A und
durchsucht als Antwort die Einträge
in dem Netzadreßfeld
der Nachschlagetabelle 26. Der Tabelleneintrag 28 beinhaltet
die Netzadresse für
H. Ein entsprechendes Portfeld 30 für die Netzadresse H gibt an,
daß der
Frame über
Port 2 weitergeleitet werden sollte. Zusätzliche Hintergrundinformationen über Switches
können
in mehreren Literaturquellen gefunden werden, wie zum Beispiel Fast
Ethernet (1997) von L. Quinn et al., Computer Networks (3rd Ed. 1996 von A. Tannenbaum und High-Speed
Networking wich LAN Switches (1997) von G. Held.
-
Die
Vermittlungseinrichtung kann die Netzadressen für die Nachschlagetabelle auf
verschiedene Art und Weise in Abhängigkeit von der speziellen
Implementierung der Vermittlungseinrichtung erhalten. Zum Beispiel
kann die Vermittlungseinrichtung den Netzverkehr schnüffeln, so
daß, wenn
ein Frame an einem Port empfangen wird, die Vermittlungseinrichtung
ermittelt, ob die Quelladresse des Frames in der Tabelle ist, und falls
nicht, einen Eintrag, der die Quelladresse beinhaltet, und den ankommenden
Port zu der Tabelle hinzufügt.
Folglich soll die Vermittlungseinrichtung die Adressen und Portnummern
von jedem Frame "lernen", der durch einen
Knoten gesendet wird. Ein anderes Verfahren, das einige Vermittlungseinrichtungen
wie zum Beispiel Router verwenden, um die Nachschlagetabelle zu
erhalten, ist von anderen Vermittlungseinrichtungen durch ein spezielles
Protokoll. Folglich liefern Router die Netzadressen an jeden anderen,
um ihre Nachschlagetabellen zu ergänzen.
-
In
einigen Switches wird die Nachschlagetabelle zentral geführt und
durch ein zentrales Verwaltungsmodul gesteuert. Wenn ein Port einen
Netzframe empfängt,
gibt er eine Anforderung an das zentrale Verwaltungsmodul weiter,
das die Nachschlagetabelle durchsucht und die Weiterleitungsinformationen
an den Port zurückgibt.
Der Port kann dann den Netzframe richtig weiterleiten. Um die Geschwindigkeit
zu erhöhen,
weisen andere Switches eine zentral untergebrachte Nachschlagetabelle
und Kopien der Nachschlagetabelle auf, die im Speicher lokal auf
jedem Port gespeichert sind. Mehrfache Kopien der Nachschlagetabelle
zu haben, ist schneller, da die Ports die Weiterleitungsinformationen
direkt von ihrem lokalen Speicher erhalten, anstatt mit dem zentralen
Verwaltungsprozessor zu kommunizieren.
-
Mehrfache
Kopien der Nachschlagetabelle zu haben, erfordert leider auch viel
Speicher. Außerdem kopiert
der zentrale Verwaltungsprozessor unterschiedslos die ganze zentrale
Nachschlagetabelle an alle lokalen Nachschlagetabellen, selbst wenn
viele Ports nicht alle Nachschlagetabelleneinträge verwenden. Folglich kann
ein Port Nachschlagetabelleneinträge speichern, die er niemals
verwendet, nur weil ein anderer Port jene Einträge verwendet. Ungenutzte Nachschlagetabelleneinträge zu haben,
vergeudet wertvollen Speicherplatz und verlangsamt die Geschwindigkeit
des Switches, da das Durchsuchen von mehr Einträgen zusätzliche Zeit erfordert.
-
Eine
Aufgabe der vorliegenden Erfindung ist daher, eine Hochgeschwindigkeits-Netzwerkvermittlungseinrichtung bereitzustellen,
die effizient die Adreßnachschlagetabellen
speichert und die die Probleme des Standes der Technik überwindet.
-
KURZDARSTELLUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung stellt eine Vermittlungseinrichtung (z.B.
Router, Switch, Vermittlungsrouter usw.) bereit, die Netzverkehr
an ein gewünschtes
Ziel in einem Netz wie zum Beispiel einem Telefon- oder Computernetz
weiterleitet. Die Vermittlungseinrichtung schließt mehrfache Ports ein und
verwendet Nachschlagetabellen, um zu ermitteln, welcher Port der
Netzverkehr weiterzuleiten hat. Der Netzverkehr ist in der Regel
in der Form von Netzframes, die Quell- und Zieladressen einschließen.
-
In
einem Aspekt der Erfindung schließt ein zentrales Verwaltungsmodul
eine zentrale Nachschlagetabelle ein, die Netzadressen und Portnummern
einschließt,
die mit den Netzadressen verbunden sind. Jedoch wird diese zentrale
Nachschlagetabelle nicht unterschiedslos an jede lokale Nachschlagetabelle
kopiert. Statt dessen speichert eine lokale Nachschlagetabelle nur
die für
diese lokale Nachschlagetabelle benötigten relevanten Adressen.
Insbesondere muß ein
Port, der mit einer lokalen Nachschlagetabelle verbunden ist, nur
die Quelladressen kennen, die durch diesen Port gelernt wurden,
und die Zieladressen, an die der Port vor kurzem einen Frame weiterleitete.
Folglich unterscheiden sich die lokalen Nachschlagetabellen überall im
Switch bezüglich
der Netzadressen, die sie speichern.
-
In
einem anderen Aspekt der Erfindung unterscheiden die Nachschlagetabelleneinträge die Quelladressen
von den Zieladressen und die Zieladressen werden "gelernt". Das Lernen der
Quelladresse ist im Stand der Technik bekannt. Jedoch werden in
der vorliegenden Erfindung die Zieladressen ebenfalls durch die Ports
gelernt, so daß die
Ports lokal die häufig
verwendeten Zieladressen speichern können. Jedoch speichern andere
Ports, die solche Zieladressen nicht verwenden, die Zieladresse
in ihrem lokalen Speicher nicht. Durch Lernen der Zieladressen,
die häufig
verwendet werden, und lokales Speichern solcher Adressen, können die Ports
effizienter den lokalen Nachschlagetabellenspeicher verwenden und
die Geschwindigkeit des Switches erhöhen.
-
In
noch einem anderen Aspekt der Erfindung werden sowohl die Quell-
als auch die Zieladressen aus den Nachschlagetabellen entfernt,
wenn sie für
eine vorgegebene Zeitperiode nicht verwendet wurden. Solch Entfernen
der Adressen wird als "Alterung" bezeichnet und die
Quelladreßalterung
ist in früher
bekannten Switches durchgeführt
worden. Jedoch ist die "Zieladreßalterung" früher nicht
verwendet worden. Mit der Quelladreßalterung wird die Adresse
entfernt, wenn keine Ports im System die Quelladresse für eine vorgegebene Zeitperiode
empfingen. Die Zieladreßalterung
unterscheidet sich, weil die Zieladressen ein wesentliches Merkmal
des speziellen Ports sind. Zum Beispiel können der erste und der zweite
Port die gleiche Zieladresse in ihren Nachschlagetabellen aufweisen.
Wenn der erste Port keinen Netzframe an diese Zieladresse für eine spezielle
Zeitperiode gesendet hat, wird sie aus der lokalen Nachschlagetabelle
für diesen
Port gelöscht.
Jedoch kann der zweite Port häufig
Frames an die Zieladresse senden, so daß der zweite Port die Zieladresse in
seiner lokalen Nachschlagetabelle beibehält. Insbesondere der erste
und der zweite Port weisen nun verschiedene Nachschlagetabelleneinträge auf und
die Nachschlagetabellen werden auf der Basis des speziellen Bedarfs
an diesem Port bestückt.
-
Diese
Vorteile und andere Vorteile und Merkmale der Erfindung werden aus
der folgenden detaillierten Beschreibung ersichtlich, die mit Verweis
auf die folgenden Zeichnungen fortgeführt wird.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1A zeigt
ein bekanntes Netz, das mehrfache Segmente beinhaltet, die durch
eine Vermittlungseinrichtung verbunden sind.
-
1B zeigt
eine bekannte Nachschlagetabelle, die in der Vermittlungseinrichtung
zum Identifizieren der Knoten gespeichert ist, die mit den Segmenten
verbunden sind.
-
2 zeigt
eine Vermittlungseinrichtung gemäß der Erfindung,
die mehrfache Ports einschließt
und Nachschlagetabellen innerhalb der ausgewählten Ports zeigt, die Quelladressen
(SA) und Zieladressen (DA) speichern.
-
3 zeigt
weitere Details eines Ports innerhalb der Vermittlungseinrichtung
von 2.
-
4 ist
ein Ablaufdiagramm eines Verfahrens zum Weiterleiten von Netzframes
im Port von 3.
-
5 ist
ein Ablaufdiagramm eines Verfahrens zum Lernen der Quell- und Zieladressen
innerhalb einer Nachschlagetabelle.
-
6 ist
ein Ablaufdiagramm für
die Alterung der Quell- und Zieladressen innerhalb der Nachschlagetabelle.
-
DETALLIERTE BESCHREIBUNG
EINER VERANSCHAULICHENDEN AUSFÜHRUNGSFORM
-
2 zeigt
eine Vermittlungseinrichtung 34, die ein zentrales Verwaltungsmodul 36 einschließt, das mit
einer zentralen Nachschlagetabelle 38 gekoppelt ist. Das
zentrale Verwaltungsmodul 36 ist mit mehrfachen Ports innerhalb
des Switches gekoppelt. Die Ports sind allgemein als Port 0, 1,
..., N gezeigt, wo N den Port mit der höchsten Nummer im System darstellt
und praktisch jede positive ganze Zahl auf der Basis der Größe des Switches
sein kann. Die Ports können
alle ihre eigene Nachschlagetabelle aufweisen oder sich die Nachschlagetabelle
mit anderen Ports teilen. Obgleich die Erfindung mit zwei oder mehr
Ports implementiert werden kann, die sich eine Nachschlagetabelle
teilen, wird im Folgenden jeder Port als seine eigene Nachschlagetabelle
aufweisend beschrieben. Eine Beispiel-Nachschlagetabelle gemäß der Erfindung
ist bei 40 gezeigt und stellt die Nachschlagetabelle für Port 0
dar. Die Nachschlagetabelle 40 schließt ein Netzadreßfeld 42,
ein SA/DA-Feld 44, ein Weiterleitungsinformationsfeld 46 und
ein Alterungsfeld 48 ein. Das Netzadreßfeld 42 beinhaltet
Netzadressen der Einrichtungen auf dem Netz. Die Adressen sind allgemein
gezeigt, können
aber eine breite Vielzahl von Adressen sein, wie zum Beispiel MAC,
IP, IPv6, IPX, IPv4 usw. Das SA/DA-Feld 44 bezeichnet,
ob die Adresse eine Quelladresse (SA) oder eine Zieladresse (DA)
ist. Eine Quelladresse gibt an, daß der Eintrag durch den Port
gelernt wurde, der mit dieser Nachschlagetabelle verbunden ist,
während
eine Zieladresse angibt, daß ein
anderer Port die Adresse lernte. Das Feld der Weiterleitungsinformationen 46 speichert
Weiterleitungsinformationen wie zum Beispiel eine Portnummer, die
mit der Netzadresse verbunden ist. Das Weiterleitungsinformationsfeld
schließt
in der Regel weitere Informationen (z.B. eine MAC-Adresse) außer der
Portnummer ein, aber der Einfachheit halber ist nur eine Portnummer
gezeigt. Das Alterungsfeld 48 beinhaltet Informationen
in Zusammenhang damit, wie vor kurzem die zugeordnete Netzadresse verwendet
worden ist. Das Alterungsfeld kann zum Beispiel eine Variable sein
(allgemein dargestellt als "X"), die inkrementiert (oder
dekrementiert) wird, wenn eine festgelegte Zeitperiode überschritten
ist. Wenn die Variable einen Timeout-Wert erreicht, dann ist der
Nachschlagetabelleneintrag veraltet, da er vor kurzem nicht verwendet
worden ist, und der Eintrag wird gelöscht. Wenn ein Nachschlagetabelleneintrag
verwendet wird, wird das Alterungsfeld rückgesetzt, da der Eintrag "frisch" ist.
-
Eine ähnliche
Nachschlagetabelle 49 wird für Port N gezeigt. Einige der
Adressen in der Nachschlagetabelle 40 stimmen mit denjenigen
von Tabelle 49 überein,
wie zum Beispiel Adr. 0. Anderseits unterscheiden sich einige der
Adressen. Zum Beispiel schließt
die Nachschlagetabelle 40 Adr. 1, Adr. 6 und Adr. 10 ein, welche
die Nachschlagetabelle 49 nicht einschließt. Die
Nachschlagetabelle 49 weist ebenfalls Adressen auf, die
die Nachschlagetabelle 40 nicht einschließt, wie
zum Beispiel Adr. 9 und Adr. 15. Die verschiedenen Einträge in den
Nachschlagetabellen 40, 49 zeigen einen Vorteil
der vorliegenden Erfindung. Das heißt, die Nachschlagetabellen
für jeden
Port werden auf der Basis der tatsächlichen Verwendung durch den
Port bestückt, der
mit dieser Nachschlagetabelle verbunden ist. Zum Beispiel speichert
die Nachschlagetabelle 49 die Adr. 9, weil sie vor kurzem
einen Netzframe, der Adr. 9 beinhaltet, an Port 6 weiterleitete.
Im Gegenteil speichert die Nachschlagetabelle 49 die Adr.
6 nicht, weil sie vor kurzem keinen Frame empfangen hat, der diese
Adresse beinhaltet. Die zentrale Nachschlagetabelle 34 ist
eine Mastertabelle und schließt
alle Adressen von den verschiedenen Nachschlagetabellen ein.
-
3 zeigt
ein detailliertes Schaltbild für
einen Port. Die Erfindung ist nicht auf irgendein spezielles Design
des Ports beschränkt,
aber der Vollständigkeit
halber wird die Erläuterung
gegeben. 3 zeigt eine Vermittlungseinrichtung 50,
die einen Port 52 und die Portkommunikationslogik 54 aufweist.
Port 52 schließt eine
Medienschnittstelle 56, einen Speicher 58 und
eine Suchmaschine 60 ein. Die Suchmaschine 60 schließt den temporären Paketspeicher 62,
die Paketanalyse und die Schlüsselextraktionslogik 64,
eine interne Binärsuchmaschine 66 und
die Weiterleitungsentscheidungslogik 72 ein. Es sind mehrfache
Ports (nicht gezeigt) in der Vermittlungseinrichtung 50 vorhanden.
Ein oder mehrere Ports befinden sich auf Kanal- oder Leitungskarten
(nicht gezeigt), die in einem Baugruppenträger montiert sind. Die Anzahl
der Ports und wie die Ports und die Portkommunikationslogik 54 innerhalb
eines Baugruppenträgers
montiert werden, basiert auf der speziellen Anwendung und ist für die Erfindung
nicht wichtig.
-
Die
Medienschnittstelle 56 verbindet die Vermittlungseinrichtung 50 mit
einem Netz (nicht gezeigt) durch ein Netzwerkkabel 74.
Das Netzwerkkabel kann eine Vielzahl von Formen (z.B. faseroptisches
Kabel, Twisted-Pair-Kabel,
Koaxialkabel usw.) in Abhängigkeit
vom Typ des Netzes annehmen. Eine Vielzahl von Netzstandards und
-protokollen kann verwendet werden, wie zum Beispiel TCP/IP, IPX/SPX,
FDDI, ATM, ETHERNET, GIGABIT ETHERNET, FAST ETHERNET, Token Ring,
SONET usw. Weitere Netzprotokolle, Standards und Netzwerkkabel,
die gegenwärtig
existieren oder später
entwickelt werden, können
mit der Erfindung verwendet werden, da diese speziellen Aspekte
für die
Erfindung nicht wichtig sind. Die Medienschnittstelle 56 ist
eine Kommunikationsverbindung zwischen der Suchmaschine 60 und
dem Netz. Folglich ermöglicht
die Medienschnittstelle 56 der Suchmaschine 60,
Netzframes in jedem gewünschte
Format zu senden und die Medienschnittstelle 56 formatiert
die Frames für
das spezielle Netz um. Entsprechend empfängt die Medienschnittstelle 56 die
Netzframes vom Netz und formatiert die Frames, so daß sie von
der Suchmaschine 60 gelesen werden können. Die verwendete Medienschnittstelle
basiert auf der speziellen Anwendung und ist zum Verstehen der Erfindung
nicht wichtig.
-
Der
temporäre
Paketspeicher 62 innerhalb der Suchmaschine 60 speichert
den Netzframe temporär, während andere
Komponenten innerhalb der Suchmaschine ermitteln, wohin der Netzframe
weiterzuleiten ist, wie weiter unten beschrieben ist. Unter einigen
Umständen
kann eine Entscheidung getroffen werden, das Paket überhaupt
nicht weiterzuleiten. In solchen Fällen wird der Netzframe niemals
an die Portkommunikationslogik weitergegeben. In Abhängigkeit
von der Größe des Netzframes
kann der temporäre
Paketspeicher 62 mehrere Netzframes speichern oder alternativ
nur einen Teil eines Netzframes, wie er an einen anderen Port weitergeleitet
wird.
-
Die
Paketanalyse- und Schlüsselextraktionslogik 64 extrahiert
Informationen wie zum Beispiel die Quell- und Zieladressen aus dem
Netzframe und erzeugt einen Schlüssel,
der an die Binärsuchmaschine 66 weitergegeben
wird. Die Paketanalyse- und Schlüsselextraktionslogik 64 kann
ebenfalls zusätzliche
Informationen an die Suchmaschine 66 weitergeben, wie zum
Beispiel virtuelle LAN-Informationen, die mit dem Netzframe kommen
oder auf der Basis des Typs des Netzframes abgeleitet werden.
-
Die
Suchmaschine 66 ist mit dem Speicher 58 gekoppelt.
Der Speicher speichert eine Nachschlagetabelle, die die Binärsuchmaschine
zum Analysieren der von der Medienschnittstelle 56 empfangenen
Netzframes verwendet. Ein Verwaltungsprozessor (nicht gezeigt) ist
mit der Suchmaschine 66 gekoppelt und verwaltet die Nachschlagetabelle
im Speicher 58. Insbesondere der Verwaltungsprozessor kann
die Suchmaschine anweisen, alte Tabelleneinträge zu löschen, neue Tabelleneinträge einzufügen und
im Allgemeinen die Tabelle in sortierter Reihenfolge zu verwalten,
so daß die
Suchmaschine die Suche effizient und richtig durchführt.
-
Wenn
die Suchmaschine 60 ermittelt, daß ein Frame an andere Ports
in der Vermittlungseinrichtung 50 weiterzuleiten ist, gibt
sie den Netzframe an die Portkommunikationslogik 54 weiter.
Die Portkommunikationslogik 54 schließt eine Switch-Fabric 76 und
eine Switch-Fabric-Steuerung 78 ein. Die Switch-Fabric 76 kann
eine Vielzahl von Formen annehmen. Zum Beispiel kann die Switch-Fabric
ein Cross-Bar-Switch sein, der im Allgemeinen in der Telekommunikationsvermittlung
verwendet wird. Der Cross-Bar-Switch erzeugt einen Weg zwischen
einem Empfangsport und einem Sendeport, so daß der Netzframe dazwischen
weitergegeben werden kann. Eine breite Vielzahl von Cross-Bar-Switches
kann verwendet werden, wie zum Beispiel Cut-Through-Switches, Übergangs-Cut-Through-Switches
und Store-and-Forward-Switches. Weitere Typen von Switch-Fabrics
können
ebenfalls verwendet werden. Zum Beispiel kann die Switch-Fabric 76 ebenfalls
ein Zentralspeicher sein, der eine Buszuteilungseinrichtung und
einen Zentralbus verwendet. Unter Verwendung einer Gemeinschaftsspeicher-Busarchitektur
greifen alle Ports auf einen Speicherpool zu, der sich lokal auf
einem Koppelmodul oder Arbeitsgruppenkoppler befindet. Die Ports
können
auf den Zentralspeicher durch einen gemeinsamen Bus zugreifen, wenn
die Zuteilungseinrichtung seinen Zugriff erteilt. Eine andere mögliche Switch-Fabric,
die verwendet werden kann, ist eine Gemeinschaftsspeicherarchitektur
mit Parallelzugriff. In einem Gemeinschaftsspeicher mit Parallelzugriff
teilen sich alle Ports den Zentralspeicher. Jedoch wird ein Buszuteilungsschema
nicht verwendet. Statt dessen weist jeder Port einen dedizierten
Weg in das und aus dem Zentralspeicherfeld heraus auf. Folglich
können
alle Ports gleichzeitig auf den zentralen Speicherpool zu jeder Zeit
zugreifen. Eine breite Vielzahl von vorhandenen Switch-Fabrics oder
später
entwickelten Switch-Fabrics kann ebenfalls verwendet werden. Die
spezielle Switch-Fabric und die Switch-Fabric-Steuerung sind für die Erfindung
nicht von Bedeutung.
-
Die
Switch-Fabric-Steuerung 78 steuert die Netzframes, wie
sie durch die Switch-Fabric hindurchgehen. In dem Fall, wo die Switch-Fabric
ein Cross-Bar-Switch ist, wird die Switch-Fabric-Steuerung in der Regel als ein
Scheduler bezeichnet. Der Scheduler baut einen Anschluß innerhalb
des Cross-Bar-Switches
auf, so daß eine
Suchmaschine auf einem Port direkt einen Netzframe an eine Suchmaschine
auf einem anderen Port weitergeben kann. In dem Fall, wo die Switch-Fabric
ein Speicher ist, teilt die Switch-Fabric-Steuerung einer Suchmaschine
der Empfangsseite mit, wo der Frame im Speicher zu speichern ist.
Nachdem der Frame im Speicher gespeichert ist, signalisiert die
Switch-Fabric-Steuerung einem Port der Sendeseite, daß der Netzframe
sendebereit ist, und stellt die Adresse des Speicherortes bereit,
wo sich der Frame befindet. Die Switch-Fabric-Steuerung kann ebenfalls
Prioritätsinformationen
für den
Port der Sendeseite bereitstellen.
-
4 zeigt
ein Flußdiagramm
eines Verfahrens, das durch die Vermittlungseinrichtung 50 zum
Weiterleiten der Netzframes verwendet wird. In Schritt 80 empfängt die
Medienschnittstelle 56 einen Netzframe vom Netz und gibt
den Frame an die Suchmaschine 60 weiter. Der Netzframe
beinhaltet eine Zieladresse, die das endgültige Ziel für den Netzframe
angibt. In Schritt 82 durchsucht die Suchmaschine 60 den
Speicher 58, um zu ermitteln, ob sich die Zieladresse von
dem Netzframe innerhalb der Nachschlagetabelle des Speichers 58 befindet.
Wenn eine Netzadresse mit der Zieladresse übereinstimmt, werden Weiterleitungsinformationen, die
angeben, wohin der Frame weitergeleitet werden sollte, ebenfalls
von der Nachschlagetabelle erhalten. In der Annahme, daß die Weiterleitungsinformationen
in der Nachschlagetabelle richtig gefunden wurden und der entsprechende
Port ermittelt wurde, gibt die Suchmaschine die Suchergebnisse an
die Switch-Fabric-Steuerung 78 (Schritt 84)
weiter. In Schritt 86 überträgt die Suchmaschine 60 den
Netzframe durch die Switch-Fabric 76. Wenn die Switch-Fabric
ein Cross-Bar-Switch ist, baut die Switch-Fabric-Steuerung 78 die Verbindung
in der Switch-Fabric auf und kommuniziert mit der Suchmaschine 60,
wenn der Netzframe zu senden ist. Wenn die Switch-Fabric ein Zentralspeicher
mit oder ohne Buszuteilung ist, teilt die Switch-Fabric-Steuerung
der Suchmaschine 60 mit, wo in der Switch-Fabric der Netzframe
zu speichern ist. Die Suchmaschine 60 speichert dann den
Netzframe an dem angegebenen Ort. Die Switch-Fabric-Steuerung informiert
ebenfalls die anderen Ports, wo der Netzframe gespeichert wird,
so daß sie
richtig auf ihn innerhalb der Switch-Fabric zugreifen können. Ungeachtet
des mit der Switch-Fabric
verwendeten Verfahrens wird der Netzframe von der Switch-Fabric erhalten
und auf einem oder mehreren Ports (Schritt 88) übertragen.
-
5 zeigt
ein Ablaufdiagramm eines Verfahrens zum Weiterleiten eines Netzframes
und zum Lernen der Adressen SA und DA. In Schritt 100 wird
ein Netzframe empfangen, der eine Quelladresse und eine Zieladresse
einschließt.
Die Quell- und Zieladressen werden aus dem Netzframe durch die Paketanalyse- und Schlüsselextraktionsschaltung 64 extrahiert
und an die Binärsuchmaschine 66 weitergegeben.
Die Binärsuchmaschine
durchsucht den Speicher 58 (der die lokale Nachschlagetabelle
beinhaltet) auf die Quelladresse (Schritt 102). Wenn die
Quelladresse bereits in der Nachschlagetabelle des Ports ist, dann
muß der
Port die Quelladresse nicht lernen. Wenn jedoch die Quelladresse
nicht in der Tabelle ist, dann fügt
der Port die Quelladresse zu der Tabelle hinzu und leitet die gelernte
Adresse an das zentrale Verwaltungsmodul 36 weiter. Als nächstes sucht
die Suchmaschine nach der Zieladresse (Schritt 104). Wenn
die Zieladresse nicht in der Nachschlagetabelle für den Port
ist, "flutet" der Port den Frame
(d.h. sendet ihn an alle Ports aus). In Schritt 106 fragt
der Port das zentrale Modul 36 nach Informationen bezüglich der
Zieladresse ab. Das zentrale Verwaltungsmodul 36 durchsucht
die zentrale Nachschlagetabelle 38 und gibt die Ergebnisse,
die Informationen über die
Zieladresse einschließen,
an den Port zurück.
Der Port fügt
dann die Zieladresse zu seiner lokalen Nachschlagetabelle (Schritt 108)
hinzu. Nun ist sie das nächste
Mal, wenn dieser gleiche Port die gleiche Zieladresse empfängt, bereits
in der lokalen Nachschlagetabelle. Folglich kann der Netzframe effizienter
mit zukünftigen Übertragungen
weitergeleitet werden. Insbesondere speichern andere Ports die Informationen über die
Zieladresse in ihren Speichern nicht, weil sie die Netzframes nicht
zu empfangen brauchen, die diese Zieladresse beinhalten. Folglich
kann das Speichern solcher Informationen verschwenderisch sein.
Daher speichert jeder Port die DA-Adressen je nach Erfordernis.
Mit anderen Worten, jeder Port speichert nur die DA-Adressen, die er
tatsächlich
verwendet. Und mit den Alterungsverfahren speichert jeder Port nur
die DA-Adressen, die er vor kurzem verwendete.
-
Beim
Lernen der SA- und DA-Adressen schließt die Nachschlagetabelle das
SA/DA-Feld 44 ein, das angibt, ob der Eintrag eine SA-
oder eine DA-Adresse ist. Dieses Feld ist nicht erforderlich, um
die Erfindung zu implementieren. Zum Beispiel kann ein Port durch
Analysieren des Weiterleitungsinformationsfeldes 46 ermitteln,
ob eine Adresse eine DA- oder SA-Adresse ist. Wenn die Portnummer
innerhalb des Feldes 46 die gleiche wie der aktuelle Port
ist, dann ist sie eine SA, wohingegen, wenn sich die Portnummer
unterscheidet, sie eine DA ist.
-
6 zeigt
ein Ablaufdiagramm eines Verfahrens zum Altern sowohl der SA- als
auch der DA-Tabelleneinträge.
In Schritt 110 werden die SA-Einträge durch Prüfen des Alterungsfeldes 48 überprüft. Wenn
das Alterungsfeld einen vorgegebenen Grenzwert übersteigt, dann ist der Eintrag
veraltet und wird gelöscht
(Schritt 112) und das zentrale Verwaltungsmodul wird benachrichtigt.
Andernfalls wird das Alterungsfeld inkrementiert oder dekrementiert,
um die gestiegene Alterung anzuzeigen. Das zentrale Verwaltungsmodul
sendet dann eine Nachricht an alle anderen Ports, daß der SA-Eintrag
nicht mehr gültig
ist (Schritt 114). Ports, die die SA-Adresse aufweisen
(die als eine DA aufgelistet ist), löschen sie aus ihren Nachschlagetabellen.
In Schritt 116 überprüft die Suchmaschine
ebenfalls auf DA-Alterung durch Prüfen des Alterungsfeldes 48 der
DA-Einträge
wie oben bezüglich
der SA-Alterung beschrieben. Wenn der DA-Eintrag veraltet ist, wird
er gelöscht
und das zentrale Verwaltungsmodul wird von der Löschung benachrichtigt (Schritt 118).
Anders als die SA-Alterung braucht
das zentrale Verwaltungsmodul nicht andere Ports von der Löschung zu
benachrichtigen, weil eine DA-Adresse,
die auf einem Port veraltet ist, nicht notwendigerweise auf einem
anderen Port veraltet ist.
-
Weitere
Details der Erfindung werden unten bereitgestellt. In LAN/WAN-Bridging-/Switching-/Routingeinrichtungen
wird (werden) in der Regel die Nachschlagetabelle(n) verwendet,
um relevante Informationen für weiterzuleitende
und zu modifizierende Frames zu speichern. Diese Routingeinrichtungen
bestehen in der Regel aus Leitungskarten, auch bezeichnet als Schnittstellenkarten,
und einem zentralen Verwaltungsmodul. Diese Routingeinrichtungen
weisen im Allgemeinen Nachschlage- oder Routingtabellen auf. Diese Tabelle(en) wird
(werden) an einem zentralen Ort verwaltet. Die Tabelle wird ebenfalls
als Routingtabelle bezeichnet und sie setzt sich aus Routingeinträgen zusammen.
Die Routingtabelleneinträge
bestehen aus Routing-/Weiterleitungsinformationen und diese sind
in der Regel durch Adressen indexiert. Diese Adressen können MAC-Adressen
(Media Access Controller), IPv4-Adressen, IPX-Adressen, IPv6-Adressen
oder einige andere Protokolladressen sein. Die Adressen können entweder
eine Quelladresse (SA) oder eine Zieladresse (DA) sein. Entitäten, die
die Nachschlageergebnisse benötigen,
schlagen in diesen Tabelleneinträgen,
wenn erforderlich, zum Weiterleiten von Frames/Paketen von einem
Port/Schnittstellenkarte zu einem anderen nach. Die zentrale Tabelle
wird in der Regel auf dem zentralen Verwaltungsmodul verwaltet.
-
Das
hierin beschriebene Verfahren verwendet verteilte Tabellen auf Leitungskarten
mit einem untypischen Mechanismus, um diese Tabellen zu aktualisieren,
bezeichnet als verteiltes Lernen, und eine zusätzliche Art und Weise, um (veraltete)
Einträge
aus den verteilten Tabellen zu löschen,
bezeichnet als DA-Alterung.
-
Weiter
unten ist eine herkömmliche
Art und Weise des Verwaltens der zentralen Nachschlagetabelle, des
Hinzufügens
(Lernens) neuer Einträge
und des Löschens
(Alterung) alter Einträge
beschrieben:
Ein zentrales Verwaltungsmodul speichert eine
zentrale Tabelle. In einem typischen Szenario werden die Leitungskarten
(Schnittstellen) mit den Endstationen verbunden und die Routingeinrichtung
führt das
Routing der Frames/Pakete von diesen Endknoten durch. Leitungskarten
erfahren in der Regel von neuen Quelladressen durch Beobachten der
Frames, die durch die Endknoten gesendet wurden, die mit diesen
Leitungskarten verbunden sind. Wie und wann erfahren die Leitungskarten
(LC) oder Schnittstellen von den neuen Quelladressen. MAC-Adressen
(Media Access Controller/MAC) zum Beispiel senden es an das zentrale
Verwaltungsmodul, um gelernt zu werden. Die folgende Sequenz von
Ereignissen erläutert
den herkömmlichen
Lern- und Routingmechanismus:
LC-1 beobachtet einen Frame/Paket
von der Quelladresse A; sendet ihn an das Zentralspeichermodul,
um in die Zentraltabelle gelernt zu werden. Entsprechend
beobachtet
LC-2 einen Frame/Paket von der Quelladresse B; sendet ihn an das
Zentralspeichermodul, um in die Zentraltabelle gelernt zu werden.
beobachtet
LC-3 einen Frame/Paket von der Quelladresse C; sendet ihn an das
Zentralspeichermodul, um in die Zentraltabelle gelernt zu werden.
beobachtet
LC-4 einen Frame/Paket von der Quelladresse D; sendet ihn an das
Zentralspeichermodul, um in die Zentraltabelle gelernt zu werden.
-
LC-1
empfängt
einen Frame, der für
die MAC-Adresse A bestimmt ist. Sie fragt das Zentralspeichermodul,
wohin dieser Frame zu senden ist?
-
Das
Zentralspeichermodul schlägt
in der Zentraltabelle nach und weist LC-1 an, den Frame zu filtern, weil
es weiß,
daß die
SA A von LC-1 gelernt wurde und sich der Endknoten unter LC-1 befindet,
folglich der Frame nicht zu routen/weiterzuleiten ist.
-
LC-1
empfängt
einen Frame, der für
die MAC-Adresse B bestimmt ist. Sie fragt das Zentralspeichermodul,
wohin dieser Frame zu senden ist?
-
Das
Zentralspeichermodul schlägt
in der Zentraltabelle nach und weist die LC-1 an, diesen Frame an LC-2
zu senden, weil diese MAC-Adresse B auf LC-2 gelernt wurde.
-
Dieser
Prozeß des
Lernens und Abfragens des Zentralspeichermoduls wird fortgesetzt.
Die Leitungskarten teilen in der Regel dem Zentralspeichermodul
jedesmal mit, wenn sie einen Frame von irgendeiner SA sehen. Das
Zentralspeichermodul wird jene Einträge weiter als frisch kennzeichnen.
Das Zentralspeichermodul wird im Allgemeinen alte Einträge in der
Zentraltabelle löschen,
die auf keiner Leitungskarte eine Zeit lang gesehen worden sind.
Dieser Prozeß der
Alterung der Einträge
wird als SA-Alterung bezeichnet.
-
Verteiltes Lernmodell
mit On-Demand-Bestückung:
-
In
einer verteilten Weiterleitungs-/Routingmaschine mit On-Demand-Bestückung wird
eine Zentraltabelle auf dem Zentralspeichermodul verwaltet, aber
die Leitungskarten werden angewiesen, eine lokale Kopie des relevanten
Teils der Zentraltabelle zu führen.
Welcher Teil der Tabelle auf welcher Leitungskarte gespeichert werden
sollte, ist der Kern des hier beschriebenen Verfahrens.
-
In
diesem Verfahren führen
die Leitungskarten das SA-Lernen immer noch wie in dem herkömmlichen Weiterleitungsmodell
durch. Die Leitungskarten informieren immer noch das Zentralspeichermodul über die durch
sie gelernten SAs. Die Leitungskarten sind erforderlich, um eine
lokale Kopie der durch sie gelernten SAs zu führen. Das Zentralspeichermodul
hilft den Leitungskarten beim Lernen etwaiger zusätzlicher
Informationen, die sie wissen müssen,
auf dem Prinzip des ausschließlich
notwendigen Wissens. In diesem Verfahren empfangen die Leitungskarten
nur jene Adressen, für
die sie einen Bedarf haben. Tatsächlich
nur der relevante Abschnitt der Zentraltabelle auf dem Zentralspeichermodul.
Zum Beispiel:
LC-1 lernt A durch Beobachten eines Frames, der
von der MAC-Adresse
A ausgeht; sie sendet ihn an das Zentralspeichermodul.
LC-2
lernt B durch Beobachten eines Frames, der von der MAC-Adresse B ausgeht;
sie sendet ihn an das Zentralspeichermodul.
LC-3 lernt C durch
Beobachten eines Frames, der von der MAC-Adresse C ausgeht; sie sendet ihn an
das Zentralspeichermodul.
LC-4 lernt D durch Beobachten eines
Frames, der von der MAC-Adresse
D ausgeht; sie sendet ihn an das Zentralspeichermodul.
-
LC-1
sieht einen Frame an C; flutet ihn (sendet ihn überall, weil sie zunächst nicht
weiß,
wohin die für C
bestimmten Frames zu senden sind).
-
LC-1
bittet das Zentralspeichermodul, das Ziel für C herauszufinden. Das Zentralspeichermodul
liefert den Tabelleneintrag für
C an LC-1, indem der Leitungskarte effektiv mitgeteilt wird, alle
zukünftigen
Frames, die für
die Adresse C bestimmt sind, an die Leitungskarte 3 weiterzuleiten.
Die Leitungskarte 1 ist erforderlich, um diese Informationen lokal
zu speichern und sie künftig
zu verwenden.
-
LC-2
sieht einen Frame an A; flutet ihn.
-
LC-2
bittet das Zentralspeichermodul, das Ziel für A....... herauszufinden.
Und so weiter.
-
Einträge, die
auf einer Leitungskarte gelernt werden, z.B. A auf LC-1, werden
als Einträge
der Quelladresse (SA) gekennzeichnet. Einträge, die durch eine Leitungskarte
durch Abfragen des Zentralspeichermoduls gelernt wurden, werden
als DA-Einträge
gekennzeichnet. Die SA-Einträge
werden in der Regel periodisch gealtert, wenn eine Leitungskarte
keinen Verkehr von dieser MAC (als SA) für eine Zeitperiode sieht. Wenn SA-Einträge von einer
Leitungskarte gealtert sind, wird eine Nachricht an das Zentralspeichermodul
gesendet, so daß es
wieder Nachrichten an alle Leitungskarten senden kann, die diesen
Eintrag verwenden. Die Leitungskarte(n) löscht (löschen) nach dem Empfang solcher
Nachricht diesen Eintrag aus ihrer lokalen Tabelle. Einträge, die
als DAs in den Tabellen der Leitungskarte gekennzeichnet sind, werden
ebenfalls periodisch gelöscht
(gealtert), wie später
in dieser Offenlegung beschrieben ist.
-
Folgende
Transaktionen wie diese wird jede Leitungskarte mit einem Subset
der Zentraltabelle auf dem Zentralspeichermodul beenden. Nach der
ersten Abfrage an das Zentralspeichermodul führt jede Leitungskarte die
folgenden Suchläufe
in ihrer lokalen Tabelle durch und wenn sie den relevanten Eintrag
findet, verwendet sie ihn, um den Frame an das richtige Ziel zu
routen/weiterzuleiten.
-
Dieses
Verfahren des verteilten Lernens weist viele Vorteile auf, einschließlich einer
gesamten erhöhten
Adreßtabellenkapazität, indem
den Leitungskarten erlaubt wird, nur die nützlichen/relevanten Informationen
zu speichern.
-
Die
verteilte Natur der Tabellen auf jeder Leitungskarte ermöglicht die
Alterung auf der Basis der Zieladresse (DA), indem Einträge gelöscht werden,
die mit DAs verbunden sind, die eine Zeit lang nicht verwendet worden
sind. Die DA-Alterung
wird durch Führen
eines Kontos der Verwendung jedes Eintrags auf jeder Leitungskarte
erreicht. Wenn ein Eintrag auf einer Leitungskarte als ein DA-Eintrag
verwendet wird, wird er gekennzeichnet. Die Benutzungsmarkierer
werden periodisch gelöscht.
Wenn eine Leitungskarte einen Eintrag findet, der ein DA-Eintrag
war, und keinen Markierer gesetzt hat, wird er von dieser Leitungskarte
gelöscht.
Das erfolgt, um die Einträge
zu entfernen, die aus dem Zentralspeichermodul gelernt wurden. Dieser
zusätzliche Schritt
der Alterung der Einträge
des DA-Typs, neben der Alterung der Einträge des SA-Typs, ermöglicht jeder Leitungskarte,
die DA-Adressen zu entfernen, für
die keine aktive Konversation von dieser Leitungskarte vorhanden
ist. Das ist für
das On-Demand-Bestückungsverfahren
erforderlich, weil die DAs von dem Zentralspeichermodul gelernt
werden und sie für
immer frei in der Leitungskartentabelle sitzen können.
-
Das
On-Demand-Lernen verwendet Intelligenz, wenn die Netzadressen gelernt
und sie an die Schnittstellen auf einem Switch verteilt werden.
Das ist anders als Globales Lernen, in dem ein Switch unterschiedslos alle
gelernten Adressen an alle seine Schnittstellen vermittelt. Wie
der Name schließen
läßt, verteilt
das On-Demand-Lernen die Adressen nur an jene Schnittstellen, die
sie benötigen.
Die beste Weise, die Vorteile dieses Lernmechanismus zu verstehen,
ist, ihn mit dem Globalen Lernen zu vergleichen, welches das von
den meisten Switches verwendete Schema ist.
-
Globales Lernen – das herkömmliche
Verfahren
-
Wenn
ein Switch, der das Globale Lernen verwendet, ein Paket von einer
Adresse empfängt,
die er nicht gelernt hat, flutet der Switch die Adresse an alle
Schnittstellen, bewirkt, daß die
Adresse in der Adreßtabelle
auf jeder Schnittstelle gespeichert wird.
-
Das
Globale Lernen nutzt den Adreßbereich
jedes Moduls nicht effizient. Betrachten Sie einen Switch an dem
Kern eines Netzes, wo jeder seiner Ports tausende von Einrichtungen
netzabwärts
von ihm aufweisen kann. Jede Einrichtung in dem Netz könnte mit
ihr verbundene MAC-, IP- und IPX-Adreßinformationen
aufweisen. Die Adreßtabelle
auf Schnittstellenmodulen wird schnell durch Adressen aufgefüllt sein,
die sie niemals verwenden.
-
Zum
Beispiel kann auf dem Switch eines Lieferanten jedes Schnittstellenmodul
16.000 Adressen speichern und die Verwaltungskarte speichert gleichfalls
16.000 Adressen. Sobald die 16001. Adresse durch den Switch kommt,
wird einer der Einträge
gealtert, um Platz für
den neuen Eintrag zu machen, und alle Schnittstellen lernen die
neue Adresse, unabhängig
davon, ob sie sie benötigen
oder nicht. Dieser Prozeß wird
für jeden
neuen Eintrag wiederholt.
-
On-Demand-Lernen – ein besseres
Verfahren
-
Das
On-Demand-Lernen nimmt ein eleganteres Verfahren, um die Adressen
zu lernen und sie an die Schnittstellenmodule zu verteilen, indem
es auf einer Bedarfsbasis durchgeführt wird.
-
Wenn
ein Paket in den Switch mit einer unbekannten SA kommt, wird die
Quelladresse an dem Eintrittsport gespeichert und an das Verwaltungsmodul
gesendet. Diese ersten drei Schritte des On-Demand-Lernens sind
unten dargestellt.
-
Das
erfolgt jedesmal, wenn eine neue Adresse im Netz erscheint, und
das Verwaltungsmodul führt
einen vollständigen
Datensatz von allen Adressen, die es gelernt hat. Jedoch anders
als das Globale Lernen flutet das Verwaltungsmodul die Adreßinformationen
nicht an alle Schnittstellenmodule. Weitere Adreßtabellen der Schnittstellenmodule
werden nur mit den Adressen bestückt,
die sie benötigen,
wenn sie sie brauchen.
-
Wenn
eine Schnittstelle mit einer unbekannten Ziel-MAC-Adresse kommunizieren
muß, flutet
sie zuerst das Paket innerhalb ihrer Broadcast-Domäne/VLAN.
Als nächstes
fragt sie die Masteradreßtabelle,
ob sie ihren Ort kennt. Die Masteradreßtabelle bestückt dann
die lokale Adreßtabelle
mit der Adresse, weil sie nun für
diese Schnittstelle relevant ist. Diese letzten drei Schritte sind
unten erläutert.
-
Schlußfolgerung
-
Das
Bestücken
von Schnittstellenmodulen, die On-Demand-Lernen verwenden, ermöglicht Switches und
Routern, eine größere Anzahl
von Einrichtungen zu unterstützen
als die herkömmlichen
globalen adreßlernenden
Verfahren. Mit einer Tabellentiefe von 64K-Adressen pro Schnittstelle
ermöglicht
On-Demand-Lernen dem PowerRail 5200 Enterprise Routing Switch, 1,5
Millionen verschiedenen Wege/Adressen pro Baugruppenträger zu unterstützen. Die
Schnittstellenmodule werden effizient bestückt und werden nicht mit Adressen
belastet, die sie niemals verwenden können.
-
Nachdem
die Prinzipien unserer Erfindung mit Verweis auf die bevorzugten
Ausführungsformen
beschrieben und veranschaulicht worden sind, wird ersichtlich, daß diese
Ausführungsformen
in Anordnung und Detail modifiziert werden können, ohne von den Prinzipien
der Erfindung abzuweichen.
-
Zum
Beispiel, obwohl der Port 52 als separate Komponenten einschließend gezeigt
ist, können
solche Komponenten in einer einzelnen integrierten Schaltung gebildet
werden. Außerdem
können
weitere Schaltungskomponenten wie zum Beispiel die Portkommunikationslogik 54 ebenfalls
in der gleichen integrierten Schaltung wie der Port eingeschlossen
sein.
-
Außerdem kann
jede der Komponenten der Vermittlungseinrichtung durch Hardware,
Software oder eine Kombination ausgeführt werden. Die Erfindung sollte
nicht auf das spezielle Verfahren (ob Hardware oder Software) zum
Ausführen
der hierin beschriebenen Verfahren und Vorrichtungen beschränkt sein.
Zum Beispiel kann die Suchmaschine eine Mikroprozessorsoftware oder
ein anwendungsspezifischer integrierter Schaltkreis (ASIC) sein,
wo die Suche in der Hardware durchgeführt wird.
-
Noch
weiter, obwohl die Nachschlagetabelle als Tabelleneinträge mit mehrfachen
Feldern beinhaltend gezeigt wird, kann die Nachschlagetabelle jeder
Typ von Datenstruktur oder Datenarray sein, der Daten speichert.
-
Und
noch weiter können
die Netzpakete jede Art von Daten einschließen, einschließlich Videobilder, Sprachdaten
während
eines Anrufs, ein Dokument usw.
-
Noch
weiter, wenn ein Port einen Netzframe empfängt, kann er die Zieladresse
(auf Schicht zwei und Schicht drei) analysieren und kann er ebenfalls
Richtlinieninformationen der Schicht 4 analysieren, falls gewünscht.
-
Immer
noch weiter kann die vorliegende Erfindung auf LANs, WANs, das Internet,
Intranets, Telefonnetze oder jedes andere Netz angewendet werden.
-
Außerdem,
obwohl die Nachschlagetabelle als Netzadressen beinhaltend beschrieben
wird, kann die Nachschlagetabelle weitere Schlüssel einschließen. Ein
Schlüssel
kann eine Netzadresse ausschließlich
oder in Kombination mit zusätzlichen
Informationen einschließen.
Alternativ kann ein Schlüssel
Nachschlageinformationen außer
den Netzadressen einschließen.
Zusätzlich
kann die Vermittlungseinrichtung Netzframes empfangen, die Suchschlüssel einschließen können. Alternativ
kann der Suchschlüssel
vom Netzframe abgeleitet werden. Zum Beispiel kann die Suchmaschine
Charakteristika des Netzframes verwenden, wie zum Beispiel, auf
welchem Port er empfangen wurde, um den Suchschlüssel abzuleiten. Der Suchschlüssel, der
entweder explizit im Netzframe eingeschlossen oder davon abgeleitet
ist, wird mit der Nachschlagetabelle verglichen, die die Nachschlageschlüssel einschließt.
-
Außerdem können, obwohl
eine Binärsuchmaschine
in der erläuterten
Ausführungsform
verwendet wird, andere Suchmaschinen statt dessen verwendet werden,
einschließlich
linearer Suchmaschinen, CAM, Binär-Radixbäume, Hashing
usw.
-
Im
Hinblick auf die vielen möglichen
Ausführungsformen,
auf die die Prinzipien oder die Erfindung angewendet werden können, sollte
erkannt werden, daß die
erläuterte
Ausführungsform
nur ein bevorzugtes Beispiel der Erfindung ist und nicht als Einschränkung des
Anwendungsbereiches der Erfindung verstanden werden sollte. Vielmehr
wird die Erfindung durch die folgenden Patentansprüche definiert.
Wir beanspruchen folglich als die Erfindung alle solche Ausführungsformen,
die innerhalb des Rahmens dieser Patentansprüche auftreten.