DE10012123A1 - Speicherzugriff im Ethernet - Google Patents
Speicherzugriff im EthernetInfo
- Publication number
- DE10012123A1 DE10012123A1 DE10012123A DE10012123A DE10012123A1 DE 10012123 A1 DE10012123 A1 DE 10012123A1 DE 10012123 A DE10012123 A DE 10012123A DE 10012123 A DE10012123 A DE 10012123A DE 10012123 A1 DE10012123 A1 DE 10012123A1
- Authority
- DE
- Germany
- Prior art keywords
- filter table
- address filter
- memory
- address
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Abstract
Eine im Ethernet verwendete Speicherstruktur umfaßt eine Anzahl mehrzeiliger Pufferspeicher. Jeder der mehrzeiligen Pufferspeicher wird auf einen Hash-Schlüssel abgebildet, welcher aus einer MAC-Adresse abgeleitet wird. Jeder der mehrzeiligen Pufferspeicher weist eine Anzahl von Adreßfiltertabellenabschnitten auf, die jeweils eine Anzahl der Adreßfiltertabelleneinträge speichern. Wenn zwei Adreßfiltertabelleneinträge in jedem Adreßfiltertabellenabschnitt eines 4-zeiligen Pufferspeichers gespeichert werden, können 1/4 des Speicherplatzes und 1/2 der Zugriffszeit eingespart werden. So kann die Suche in der Adreßfiltertabelle gemäß der MAC-Adresse im zentralen Ethernet-Logikbaustein (14) durchgeführt werden.
Description
Die vorliegende Anmeldung enthält durch Verweis die taiwanesi
sche Anmeldung Nr. 88112055, eingereicht am 16.01.1999.
Die Erfindung betrifft generell einen Speicherzugriff im
Ethernet, und insbesondere ein verbessertes Hash-Schema, bei
welchem die Ursprungseinträge in dem mehrzeiligen Pufferspei
cher als Einträge und Port-Masken in verschiedenen Speicher
plätzen getrennt sind.
Die Suche in der Adreßfiltertabelle nach den Ethernet-
Zieladressen (MAC-Adressen) ist eine Grundoperation in dem
zentralen Switch-Logikbaustein des Ethernet-Switches. Im
Ethernet ist ein Server an einem Ethernet-Switch angeschlos
sen, um Daten zwischen verschiedenen Endgeräten zu übertragen.
Ein in dem Ethernet-Switch angeordneter Switch-IC-Chip verbin
det die Endgeräte gemäß der Adreßfiltertabelle. Herkömmlicher
weise ist die Adreßfiltertabelle in einem statischen Schreib-
Lese-Speicher (SRAM) eingerichtet, um Systemkosten zu senken.
In Fig. 1 ist ein Sender (Rechner) 10 mit einem Port 12 des
Ethernet-Switch 11 verbunden, während ein Empfänger (Rechner)
16 mit dem Ethernet-Switch 11 über ein Port 15 verbunden ist.
Die Daten, welche von dem Sender 10 weitergeleitet werden,
werden durch einen Switch-IC-Chip 14 des Ethernet-Switch 11
empfangen und anschließend zu dem Empfänger 16 weitergegeben.
In Fig. 1 können die Daten des Senders 10 durch den Empfänger
16 empfangen werden, da die MAC-Adresse des Empfängers 16
ebenfalls zusammen mit den Daten gesendet werden. Die MAC-
Adresse, welche die Adresse des Ports 15 enthält, das durch
den Empfänger 16 verbunden ist, wird durch den Switch-IC-Chip
14 empfangen und anschließend an einen SRAM 18 zur Suche in
der Adreßfiltertabelle durch einen 128-Bit-Datenbus 17 über
tragen. Die Suche der Adreßfiltertabelle gemäß der MAC-Adresse
bestimmt das Ziel, an welches die Daten zu übertragen sind.
Die Größe der MAC-Adresse beträgt 48 Bits, und die Gesamtan
zahl von Rechnern in einem lokalen Netzwerk (LAN) beläuft sich
gewöhnlich auf mehrere Zehn bzw. Hundert. Herkömmlicherweise
wird ein Hash-Algorithmus angewandt zum Abbilden der MAC-
Adresse auf einen Hash-Schlüssel für eine Suche. Der Hash-
Schlüssel besteht aus 11 Bits in der 48-Bit-MAC-Adresse, so
daß der benötigte Speicher nicht teuer ist.
Jedoch kann aufgrund der Tatsache, daß die MAC-Adressen ver
schiedener Rechner den gleichen entsprechenden Hash-Schlüssel
aufweisen können, der oben erwähnte Hash-Algorithmus zu dem
Problem führen, daß die Hash-Schlüssel verschiedener Rechner
miteinander in Konflikt sein können. Beispielsweise kann ein
11-Bit-Hash-Schlüssel insgesamt 211 verschiedenen MAC-Adressen
entsprechen. In einer Firma ist, wenn sich 400 Clients in dem
Ethernet befinden, die Wahrscheinlichkeit, daß sämtliche Hash-
Schlüssel voneinander verschieden sind, gleich (2 11 - 1)/211 ×
(2 11 - 2)/211 × (2 11 - 3)/211 × . . . (2 11 - 397)/211 × (2 11 - 398)/211 × (2 11 -
399)/211 0. Das heißt, es ist sehr wahrscheinlich, daß minde
stens zwei dieser Hash-Schlüssel in diesem Fall gleich sind.
Bei dem Stand der Technik wird ein Schema eines mehrzeiligen
Pufferspeichers angewandt, um die Wahrscheinlichkeit einer
Hash-Schlüssel-Gleichheit zu verringern. Die Adreßfiltertabel
le besteht aus kontinuierlichen mehrzeiligen Pufferspeichern,
wobei jeder Pufferspeicher einem eindeutigen Hash-Schlüssel
entspricht und mehrere Zeilen aufweist, um einzelne Einträge
der Adreßfiltertabelle zu speichern. Bei einer gegebenen MAP-
Adresse kann ein Hash-Schlüssel abgeleitet und auf den ent
sprechenden mehrzeiligen Pufferspeicher abgebildet werden.
Der 4-zeilige Pufferspeicher wird, wie in Fig. 2 dargestellt,
als Beispiel herangezogen. Die Suche in der Adreßfiltertabelle
wird wie nachfolgend beschrieben ausgeführt. Der aus einer ge
gebenen MAC-Adresse abgeleitete Hash-Schlüssel wird auf den
entsprechenden k-ten 4-zeiligen Pufferspeicher abgebildet. An
schließend wird die MAC-Adresse für einen Vergleich mit dem
ersten Eintrag (k, 0) der Adreßfiltertabelle des k-ten 4-
zeiligen Pufferspeichers verwendet. Wenn das MAC-Feld dieses
Eintrags (k, 0) nicht mit dem Inhalt der MAC-Adresse überein
stimmt, so wird wieder der nächste Eintrag (k, 1) versucht.
Die Einträge (k, 2) und (k, 3) der Adreßfiltertabelle werden
nacheinander versucht, wenn die vorhergehenden Einträge (k, 0)
und (k, 1) nicht mit der MAC-Adresse identisch sind. Daher
existieren bis zu 4 Versuche für eine Suche. In der Praxis ist
die Wahrscheinlichkeit eines Mißlingens einer Suche sehr nied
rig. Jedoch erfordert diese im ungünstigsten Fall vier Tabel
leneintragszugriffe auf einen SRAM.
Der Speicherplatz und die Zugriffszeit werden gewöhnlich als
die wichtigsten Aspekte bei der IC-Entwicklung angesehen. Da
her kann, wenn der Speicherraum, welcher zum Suchen in der
Adreßfiltertabelle verwendet wird, und die Zugriffszeit des
Speichers wirksam verringert werden können, die Wirksamkeit
des herkömmlichen Hash-Algorithmus in hohem Maße verbessert
werden.
Es ist daher eine Aufgabe der Erfindung, ein verbessertes
Hash-Schema im Ethernet zu schaffen, bei welchem das selten
verwendete Feld von jedem Adreßfiltertabelleneintrag (50, 52)
getrennt wird, so daß der Speicherraum zum Speichern von mehr
Adreßfiltertabelleneinträgen eingespart wird, wodurch die Zu
griffszeit des Speichers wirksam verkürzt werden kann.
Erfindungsgemäß wird die Aufgabe durch die Merkmale der An
sprüche 1, 6, 16 bzw. 22 gelöst, die Unteransprüche zeigen
weitere vorteilhafte Ausgestaltungen der Erfindung.
Die Erfindung löst die oben genannten Aufgaben durch ein Vor
sehen einer Speicherstruktur im Ethernet. Die Speicherstruktur
umfaßt eine Vielzahl von mehrzeiligen Pufferspeichern. Jeder
der mehrzeiligen Pufferspeicher wird auf einen Hash-Schlüssel
abgebildet, welcher aus einem Tel der Bits einer MAC-Adresse
besteht. Ferner weist jeder der mehrzeiligen Pufferspeicher
eine Anzahl von Bereichen der Adreßfiltertabelle auf, welche
jeweils eine Anzahl von Adreßfiltertabelleneinträgen spei
chern. Wenn zwei Adreßfiltertabelleneinträge gespeichert und
durch eine Mehrfachdaten-Lese-Zugriffsart in jedem Bereich der
Adreßfiltertabelle eines 4-zeiligen Pufferspeichers gelesen
werden, so können ¼ des Speicherplatzes und ½ der Zugriffszeit
eingespart werden.
Die Erfindung löst eine weitere Aufgabe durch ein Vorsehen ei
nes Speicherzugriffsverfahrens. Zuerst wird ein Hash-Schlüssel
einer MAC-Adresse auf einen mehrzeiligen Pufferspeicher einer
Adreßfiltertabelle in einem Speicher abgebildet. Anschließend
wird eine Anzahl von Adreßfiltertabelleneinträgen aus einem
Abschnitt der Adreßfiltertabelle des mehrzeiligen Pufferspei
chers durch eine Mehrfachdaten-Lese-Zugriffsart gelesen. Wenn
zwei Adreßfiltertabelleneinträge in jedem Abschnitt der Adreß
filtertabelle eines 4-zeiligen Pufferspeichers gespeichert
sind, so können ¼ des Speicherplatzes und ½ der Zugriffszeit
eingespart werden. Daher kann die Suche in der Adreßfilterta
belle gemäß der MAC-Adresse in dem zentralen Switch-
Logikbaustein des Ethernet-Switches wirksam ausgeführt werden.
Weitere Aufgaben, Merkmale und Vorteile der Erfindung gehen
aus der nachfolgenden genauen Beschreibung der bevorzugten,
jedoch nicht einschränkenden Ausführungsbeispiele deutlich
hervor. Die Beschreibung erfolgt unter Bezugnahme auf die bei
liegende Zeichnung. Es zeigt:
Fig. 1 (Stand der Technik) ein Blockdiagramm des Such-
Systems von Adreßfiltertabellen des Ethernet;
Fig. 2 (Stand der Technik) die Struktur eines herkömmlichen
4-zeiligen Pufferspeichers;
Fig. 3 (Stand der Technik) die Struktur des herkömmlichen
128-Bit-Adreßfiltertabelleneintrags;
Fig. 4 die Struktur eines Adreßfiltertabelleneintrags gemäß
einem bevorzugten Ausführungsbeispiel der Erfindung;
und
Fig. 5 die erfindungsgemäße Struktur von 4-zeiligen Puffer
speichern bei der Adreßfiltertabelle.
Wie oben erwähnt, kann der herkömmliche Hash-Algorithmus ver
bessert werden, indem Speicherraum in den mehrzeiligen Puffer
speichern eingespart wird.
In Fig. 3 ist die Struktur des herkömmlichen 128-Bit-
Adreßfiltertabelleneintrags dargestellt. Der 128-Bit-
Adreßfiltertabelleneintrag (0, 127) besteht aus 37 Bits für
den MAC-Inhalt (0, 36), 5 Bits für das Empfangs-Port (source
port)(37, 41), 9 Bits für die Port-Maske (42, 60), einem Bit
für das statische Flag (61), 18 Bits für andere Felder (62,
79) und 48 reservierten Bits (80,127). Außer dem Hash-
Schlüssel (11 Bits) umfaßt die MAC-Adresse (48 Bits) weitere
37 Bits zum Vergleichen mit dem MAC-Inhalt (0, 36). Das stati
sche Flag (61) und die Port-Maske (42, 60) werden gewöhnlich
für bekannte Multicast-Ethernet-Adressen (Multicast: Punkt-zu-
Mehrpunkt), wie Multicast-Ethernet-Adressen bezüglich des
Übertragungspakets des Internet Group Management Protocol
(IGMP), verwendet.
Hingegen wird der statische Multicast-Inhalt, wie das stati
sche Flag und die Port-Maske, in dem oben erwähnten Adreßfil
tertabelleneintrag selten verwendet. Erfindungsgemäß wird die
selten verwendete Port-Maske von dem ursprünglichen Adreßfil
tertabelleneintrag getrennt und zu dem nächsten benachbarten
Eintrag verschoben, und die erhaltenen Bits (80, 127) werden
weggelassen. Daher umfaßt der angepaßte Adreßfiltertabellen
eintrag lediglich den MAC-Inhalt, das Empfangs-Port, das sta
tische Flag und andere Felder.
In Fig. 4 ist die Struktur eines Adreßfiltertabelleneintrags
gemäß einem bevorzugten Ausführungsbeispiel der Erfindung dar
gestellt. Wird als Beispiel ein 128-Bit-
Adreßfiltertabelleneintrag herangezogen, so besteht jeder
Adreßfiltertabelleneintrag aus 37 Bits für den MAC-Inhalt (0,
36), 5 Bits für das Empfangs-Port (37, 41), einem Bit für das
statische Flag (42), 21 Bits für andere Felder (43, 63), 37
Bits für einen weiteren MAC-Inhalt (64, 100), 5 Bits für ein
weiteres Empfangs-Port (101, 105), einem Bit für ein weiteres
statisches Flag (106) und 21 Bits für weitere Felder (107,
127). Das heißt, jeder 128-Bit-Adreßfiltertabelleneintrag ist
in zwei 64-Bit-Adreßfiltertabelleneinträge unterteilt. Daher
wird lediglich ein 64-Bit-Datenbus benötigt, um auf diese Ein
träge zuzugreifen. Ferner kann unter Verwendung der Mehrfach
daten-Lese-Zugriffsart der Zugriff auf die beiden 64-Bit-
Einträge geteilt werden durch den den ursprünglichen 128-Bit-
Adreßfiltertabelleneintrag gleichzeitig erreicht werden.
In Fig. 5 ist die erfindungsgemäße Struktur von 4-zeiligen
Pufferspeichern in der Adreßfiltertabelle dargestellt. Ein
Hash-Schlüssel wird zuerst auf den k-ten 4-zeiligen Puffer
speicher abgebildet. Der erste Adreßfiltertabelleneintrag (k,
0) und der zweite Adreßfiltertabelleneintrag (k, 1) des k-ten
4-zeiligen Pufferspeichers befinden sich in dem ersten Adreß
filtertabellenbereich 50. Der dritte Eintrag (k, 2) und der
vierte Bereich (k, 3) des k-ten 4-zeiligen Pufferspeichers be
finden sich in dem zweiten Adreßfiltertabellenbereich 52. Fer
ner befinden sich die von den Ursprungseinträgen getrennten
Port-Masken in dem dritten Adreßfiltertabellenbereich 54. Un
ter Verwendung der Mehrfachdateh-Lese-Zugriffsart können die
beiden Eintragspaare (k, 0), (k, 1) und (k, 2), (k, 3) gleich
zeitig gelesen werden.
Da die beiden Adreßfiltertabelleneinträge (k, 0), (k, 1) bzw.
(k, 2), (k, 3) gleichzeitig gelesen werden können, ist die
Wahrscheinlichkeit, daß die Suche in der Adreßfiltertabelle
gemäß der MAC-Adresse in dem ersten Adreßfiltertabellenbereich
50 vollendet werden kann, sehr hoch. Wenn die Suche scheitert,
das heißt, keines der beiden MAC-Felder (k, 0), (k, 1) stimmt
mit dem Inhalt der MAC-Adresse überein, so werden die Einträge
(k, 2), (k, 3) in dem nächsten Adreßfiltertabellenbereich 52
wieder probiert. Selbstverständlich wird bei dem zweiten Ver
such ebenfalls die Mehrfachdaten-Lese-Zugriffsart verwendet.
Generell existieren drei Übertragungstypen im Ethernet. Es
gibt das Broadcast (einer an alle), den Multicast (einer an
mehrere) und den Unicast (einer an einen). Beim Broadcast wer
den eingehende Daten an sämtliche Netzwerkadressen gesendet,
während Multicast bedeutet, daß die eingehenden Daten an eine
Anzahl festgelegter Netzwerkadressen gesendet werden, und Uni
cast bedeutet, daß die eingehenden Daten an eine einzige Netz
werkadresse gesendet werden. Wenn das Multicast im Ethernet
verwendet werden soll, so werden die Bits für die Port-Maske
benötigt. Jedoch wird diese Art der Netzwerkübertragung selten
verwendet.
Wenn die Bits der Port-Maske verwendet werden, so sollte der
dritte Adreßfiltertabellenbereich 54 des k-ten 4-zeiligen Puf
ferspeichers verwendet werden. Der dritte Adreßfiltertabellen
bereich 54 umfaßt die Bits für die erste Port-Maske (k, 0),
die Bits für die zweite Port-Maske (k, 1), die Bits für die
dritte Port-Maske (k, 2) und die Bits für die vierte Port-
Maske (k, 3), wie in Fig. 5 dargestellt. Ferner kann, da die
Port-Masken in dem dritten Adreßfiltertabellenbereich 54 sel
ten verwendet werden, der dritte Adreßfiltertabellenbereich 54
ebenfalls von dem 4-zeiligen Pufferspeicher getrennt werden,
so daß die Anordnung des 4-zeiligen Pufferspeichers einfacher
ist.
Daher sind gemäß dem Ausführungsbeispiel der Erfindung für ei
ne Suche in der Adreßfiltertabelle höchstens 3 Versuche erfor
derlich. Da durch die Mehrfachdaten-Lese-Zugriffsart zwei
Adreßfiltertabelleneinträge gleichzeitig gelesen werden, kann
die Suche meistens in dem ersten Versuch abgeschlossen werden.
Wenn die Suche in dem ersten Versuch nicht scheitert, so ist
der zweite Versuch bzw. Speicherzugriff nicht erforderlich.
Jedoch kann die Suche spätestens beim zweiten Zugriff abge
schlossen werden. Gegenüber dem herkömmlichen Algorithmus, bei
welchem bis zu 4 Versuche für eine Suche existieren, spart die
Erfindung durchschnittlich ½ der Zugriffszeit ein. Außerdem
werden bei dem 4-zeiligen Pufferspeicher lediglich drei Adreß
filtertabellenabschnitte mit jeweils 128 Bits zum Speichern
der vier 128-Bit-Adreßfiltertabelleneinträge benötigt, da die
erhaltenen Bits weggelassen werden. Daher kann ferner 4 des
Speicherplatzes eingespart werden. Was die MAC-Adresse des
statischen Multicast (Punkt-zu-Mehrpunkt) anbelangt, so kann
die Suche in der Adreßfiltertabelle meistens im zweiten Ver
such und im ungünstigsten Fall sogar im dritten Versuch abge
schlossen werden. Gegenüber dem herkömmlichen Algorithmus,
welcher einen viermaligen Zugriff erfordert, wird auch die Zu
griffszeit eines Speichers bei der Erfindung verkürzt.
Bei diesem bevorzugten Ausführungsbeispiel werden der 4-
zeilige Pufferspeicher und die Adreßfiltertabellenabschnitte
zum Speichern zweier Adreßfiltertabelleneinträge als Beispiele
herangezogen. Jedoch sind die durch die Erfindung offenbarten
technischen Merkmale nicht auf das oben erwähnte Ausführungs
beispiel beschränkt. Beispielsweise kann die Erfindung auf die
Technologie angewandt werden, bei welcher eine Anzahl von
Adreßfiltertabelleneinträgen in dem gleichen Adreßfiltertabel
leneintrag jedes mehrzeiligen Pufferspeichers gespeichert
wird.
Es ist daher ein Merkmal der Erfindung, das Hash-Schema des
mehrzeiligen Pufferspeichers zu verbessern. Das heißt, die er
haltenen Bits in dem Adreßfiltertabelleneintrag werden wegge
lassen, und die selten verwendeten Bits für die Port-Maske
werden von dem ursprünglichen Eintrag getrennt. Ferner kann
jeder Adreßfiltertabellenabschnitt in dem mehrzeiligen Puffer
speicher nicht lediglich einen Adreßfiltertabelleneintrag,
sondern mindestens zwei Adreßfiltertabelleneinträge speichern.
Daher können der Speicherplatz für die Adreßfiltertabellenein
träge und die Zugriffszeit verringert werden.
Es ist ein weiteres Merkmal der Erfindung, das die Bandbrei
tenanforderung eines kontinuierlichen Speicherzugriffs herab
gesetzt werden kann. Da die Größe jedes Adreßfiltertabellen
eintrags lediglich 64 Bits bei dem verbesserten Hash-Schema
des mehrzeiligen Pufferspeichers beträgt, weist der für eine
Übertragung benötigte Datenbus ebenfalls lediglich 64 Bits
auf. Ferner wird die Mehrfachdaten-Lese-Zugriffsart dazu ver
wendet, auf zwei Einträge gleichzeitig zuzugreifen. Daher kann
die Bandbreitenanforderung eines kontinuierlichen Speicherzu
griffs herabgesetzt werden.
Es ist ein weiteres Merkmal der Erfindung, daß mehr als ein
Adreßfiltertabelleneintrag bei jedem Zugriff gelesen werden
kann, da jeder Adreßfiltertabellenabschnitt in dem mehrzeili
gen Pufferspeicher mehr als einen Adreßfiltertabelleneintrag
aufweist. Beispielsweise kann gegenüber dem herkömmlichen
Schema, wenn zwei Adreßfiltertabelleneinträge in jedem Adreß
filtertabellenabschnitt des 4-zeiligen Pufferspeichers gespei
chert werden können, etwa ½ der Zugriffszeit eingespart wer
den. Daher kann die Suche in der Adreßfiltertabelle bei dem
Ethernet-Switch-IC wirksam abgeschlossen werden.
Zusammenfassend betrifft die vorliegende Erfindung eine im
Ethernet verwendete Speicherstruktur, welche eine Anzahl mehr
zeiliger Pufferspeicher (multi-slot bucket) umfaßt. Jeder der
mehrzeiligen Pufferspeicher wird auf einen Hash-Schlüssel ab
gebildet, welcher aus einer MAC-Adresse abgeleitet wird. Jeder
der mehrzeiligen Pufferspeicher weist eine Anzahl von Adreß
filtertabellenabschnitten auf, die jeweils eine Anzahl der
Adreßfiltertabelleneinträge speichern. Wenn zwei Adreßfilter
tabelleneinträge in jedem Adreßfiltertabellenabschnitt eines
4-zeiligen Pufferspeichers gespeichert werden, können ¼ des
Speicherplatzes und ½ der Zugriffszeit eingespart werden. So
kann die Suche in der Adreßfiltertabelle gemäß der MAC-Adresse
im zentralen Ethernet-Logikbaustein durchgeführt werden.
Während die Erfindung anhand eines Beispiels und in Form eines
bevorzugten Ausführungsbeispiels beschrieben wurde, ist die
Erfindung selbstverständlich nicht auf das offenbarte Ausfüh
rungsbeispiel beschränkt. Vielmehr wird beabsichtigt, ver
schiedene Abwandlungen und ähnliche Anordnungen und Verfahren
abzudecken, und dem Umfang der beiliegenden Ansprüche sollte
daher die breitest mögliche Auslegung gewährt werden, so daß
sämtliche der Abwandlungen sowie ähnlicher Anordnungen und
Verfahren darin eingeschlossen sind.
Claims (30)
1. Speicherstruktur im Ethernet, umfassend eine Vielzahl
mehrzeiliger Pufferspeicher, wobei jeder der mehrzeiligen
Pufferspeicher auf einen Hash-Schlüssel abgebildet wird,
wobei der Hash-Schlüssel durch Teilbits in einer Ziela
dresse (MAC-Adresse) gebildet wird, welche zur Datenüber
tragung verwendet wird, wobei jeder der mehrzeiligen Puf
ferspeicher mindestens umfaßt:
einen ersten Adreßfiltertabellenabschnitt zum Speichern
einer Vielzahl von Adreßfiltertabelleneinträgen.
2. Speicherstruktur nach Anspruch 1, ferner umfassend:
einen Adreßfiltertabellenabschnitt zum Speichern von Port-
Masken (54) in den Adreßfiltertabelleneinträgen.
3. Speicherstruktur nach Anspruch 1, wobei jeder der Adreß
filtertabelleneinträge umfaßt:
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
4. Speicherstruktur nach Anspruch 1, wobei die MAC-Adresse 48
Bits umfaßt.
5. Speicherstruktur nach Anspruch 1, wobei der Hash-Schlüssel
11 Bits umfaßt.
6. Speicherstruktur im Ethernet, umfassend eine Vielzahl
mehrzeiliger Pufferspeicher, wobei jeder mehrzeiligen Puf
ferspeicher auf einen Hash-Schlüssel abgebildet wird, wo
bei der Hash-Schlüssel durch Teilbits in einer Ethernet-
Adresse (MAC-Adresse) gebildet wird, welche zur Datenüber
tragung verwendet wird, wobei jeder der mehrzeiligen Puf
ferspeicher umfaßt:
einen ersten Adreßfiltertabellenabschnitt zum Speichern eines ersten Adreßfiltertabelleneintrags (50, 52) und ei nes zweiten Adreßfiltertabelleneintrags (50, 52); und
einen zweiten Adreßfiltertabellenabschnitt zum Speichern eines dritten Adreßfiltertabelleneintrags (50, 52) und ei nes vierten Adreßfiltertabelleneintrags (50, 52).
einen ersten Adreßfiltertabellenabschnitt zum Speichern eines ersten Adreßfiltertabelleneintrags (50, 52) und ei nes zweiten Adreßfiltertabelleneintrags (50, 52); und
einen zweiten Adreßfiltertabellenabschnitt zum Speichern eines dritten Adreßfiltertabelleneintrags (50, 52) und ei nes vierten Adreßfiltertabelleneintrags (50, 52).
7. Speicherstruktur nach Anspruch 6, ferner umfassend:
einen dritten Adreßfiltertabellenabschnitt zum Speichern
von Port-Masken (54) in dem ersten, dem zweiten, dem drit
ten und dem vierten Adreßfiltertabelleneintrag (50, 52).
8. Speicherstruktur nach Anspruch 7, wobei der erste, der
zweite und der dritte Adreßfiltertabellenabschnitt die
gleichen Bits aufweisen.
9. Speicherstruktur nach Anspruch 8, wobei der erste, der
zweite und der dritte Adreßfiltertabellenabschnitt jeweils
128 Bits umfassen.
10. Speicherstruktur nach Anspruch 6, wobei die MAC-Adresse 48
Bits umfaßt.
11. Speicherstruktur nach Anspruch 6, wobei der Hash-Schlüssel
11 Bits umfaßt.
12. Speicherstruktur nach Anspruch 6, wobei jeder des ersten,
des zweiten, des dritten und des vierten Adreßfiltertabel
leneintrags (50, 52) umfaßt:
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
13. Speicherstruktur nach Anspruch 12, wobei der MAC-Inhalt 37
Bits umfaßt, das Empfangs-Port 5 Bits umfaßt und das sta
tische Flag 1 Bit umfaßt.
14. Speicherstruktur nach Anspruch 6, wobei die mehrzeiligen
Pufferspeicher 4-zeilige Pufferspeicher sind.
15. Speicherstruktur nach Anspruch 6, wobei die Speicherstruk
tur durch einen 64-Bit-Datenbus mit einem zentralen Ether
net-Logikbaustein (14) verbunden ist.
16. Speicherzugriffsverfahren im Ethernet zum Suchen in einer
Adreßfiltertabelle in einem Speicher, umfassend die
Schritte eines:
Abbildens eines Hash-Schlüssels einer MAC-Adresse auf ei nen mehrzeiligen Pufferspeicher der Adreßfiltertabelle; und
Lesens einer Vielzahl von Adreßfiltertabelleneinträgen aus einem ersten Abschnitt des mehrzeiligen Pufferspeichers durch eine Mehrfachdaten-Lese-Zugriffsart.
Abbildens eines Hash-Schlüssels einer MAC-Adresse auf ei nen mehrzeiligen Pufferspeicher der Adreßfiltertabelle; und
Lesens einer Vielzahl von Adreßfiltertabelleneinträgen aus einem ersten Abschnitt des mehrzeiligen Pufferspeichers durch eine Mehrfachdaten-Lese-Zugriffsart.
17. Speicherzugriffsverfahren nach Anspruch 16, ferner umfas
sen den Schritt eines:
Lesens von Port-Masken (54) in den Adreßfiltertabellenein
trägen aus einem zweiten Abschnitt des mehrzeiligen Puf
ferspeichers durch eine Mehrfachdaten-Lese-Zugriffsart.
18. Speicherzugriffsverfahren nach Anspruch 16, wobei jeder
der Adreßfiltertabelleneinträge umfaßt:
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
19. Speicherzugriffsverfahren nach Anspruch 16, wobei die MAC-
Adresse 48 Bits umfaßt.
20. Speicherzugriffsverfahren nach Anspruch 16, wobei der
Hash-Schlüssel 11 Bits umfaßt.
21. Speicherzugriffsverfahren nach Anspruch 16, wobei der
Speicher ein statischer Schreib-Lese-Speicher (SRAM) (18)
ist.
22. Speicherzugriffsverfahren im Ethernet zum Suchen einer
Adreßfiltertabelle in einem Speicher, umfassend die
Schritte eines:
Abbildens eines Hash-Schlüssels einer MAC-Adresse auf ei nen mehrzeiligen Pufferspeicher der Adreßfiltertabelle; und
Lesens eines ersten Adreßfiltertabelleneintrags (50, 52) und eines zweiten Adreßfiltertabelleneintrags (50, 52) aus einem ersten Abschnitt des mehrzeiligen Pufferspeichers durch eine Mehrfachdaten-Lese-Zugriffsart.
Abbildens eines Hash-Schlüssels einer MAC-Adresse auf ei nen mehrzeiligen Pufferspeicher der Adreßfiltertabelle; und
Lesens eines ersten Adreßfiltertabelleneintrags (50, 52) und eines zweiten Adreßfiltertabelleneintrags (50, 52) aus einem ersten Abschnitt des mehrzeiligen Pufferspeichers durch eine Mehrfachdaten-Lese-Zugriffsart.
23. Speicherzugriffsverfahren nach Anspruch 22, ferner umfas
send den Schritt eines:
Lesens eines dritten Adreßfiltertabelleneintrags (50, 52)
und eines vierten Adreßfiltertabelleneintrags (50, 52) aus
einem zweiten Abschnitt des mehrzeiligen Pufferspeichers.
24. Speicherzugriffsverfahren nach Anspruch 23, wobei jeder
der Adreßfiltertabelleneinträge umfaßt:
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
einen MAC-Inhalt;
ein Empfangs-Port; und
ein statisches Flag.
25. Speicherzugriffsverfahren nach Anspruch 24, wobei der MAC-
Inhalt 37 Bits umfaßt, das Empfangs-Port 5 Bits umfaßt und
das statische Flag 1 Bit umfaßt.
26. Speicherzugriffsverfahren nach Anspruch 23, ferner umfas
send:
ein Lesen von Port-Masken (54) des ersten, des zweiten,
des dritten und des vierten Adreßfiltertabelleneintrags
(50, 52) aus einem dritten Abschnitt des mehrzeiligen Puf
ferspeichers durch eine Mehrfachdaten-Lese-Zugriffsart.
27. Speicherzugriffsverfahren nach Anspruch 26, wobei der er
ste, der zweite und der dritte Abschnitt jeweils 128 Bits
umfassen.
28. Speicherzugriffsverfahren nach Anspruch 22, wobei die MAC-
Adresse 48 Bits umfaßt.
29. Speicherzugriffsverfahren nach Anspruch 22, wobei der
Hash-Schlüssel 11 Bits umfaßt.
30. Speicherzugriffsverfahren nach Anspruch 22, wobei der
Speicher ein SRAM (18) ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW088112055 | 1999-07-16 | ||
TW088112055A TW431094B (en) | 1999-07-16 | 1999-07-16 | Memory access of Ethernet |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10012123A1 true DE10012123A1 (de) | 2001-01-25 |
DE10012123B4 DE10012123B4 (de) | 2010-01-28 |
Family
ID=21641524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10012123A Expired - Lifetime DE10012123B4 (de) | 1999-07-16 | 2000-03-13 | Verfahren zum Suchen einer MAC-Adresse in einem Netzwerk-Switch |
Country Status (3)
Country | Link |
---|---|
US (1) | US6615336B1 (de) |
DE (1) | DE10012123B4 (de) |
TW (1) | TW431094B (de) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1319279B1 (it) * | 2000-05-31 | 2003-10-10 | Cit Alcatel | Metodo e dispositivo per tradurre indirizzi ip di reti pertelecomunicazioni usando una memoria con oblio controllato. |
TW501009B (en) * | 2001-05-03 | 2002-09-01 | Via Tech Inc | Data access method for asymmetric dual-slot address table and the associated exchange device |
ES2185496B1 (es) * | 2001-07-17 | 2005-06-01 | Universidad Politecnica De Valencia | Equipo y metodo en linea para la deteccion, determinacion de la evolucion y cuantificacion de biomasa microbiana y otras sustancias que absorben a lo largo del espectro de luz durante el desarrollo de procesos biotecnologicos. |
US7813346B1 (en) | 2001-11-21 | 2010-10-12 | Juniper Networks, Inc. | Filter-based forwarding in a network |
US7286528B1 (en) | 2001-12-12 | 2007-10-23 | Marvell International Ltd. | Multiple address databases in a switch without the need for extra memory |
US7664909B2 (en) * | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
US7174413B2 (en) * | 2003-01-21 | 2007-02-06 | Nextio Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7219183B2 (en) * | 2003-01-21 | 2007-05-15 | Nextio, Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7917658B2 (en) | 2003-01-21 | 2011-03-29 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for link initialization in a shared I/O environment |
US8102843B2 (en) * | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7502370B2 (en) * | 2003-01-21 | 2009-03-10 | Nextio Inc. | Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture |
US7698483B2 (en) * | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
US7188209B2 (en) * | 2003-04-18 | 2007-03-06 | Nextio, Inc. | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets |
US7103064B2 (en) | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7953074B2 (en) * | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
US7617333B2 (en) * | 2003-01-21 | 2009-11-10 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7512717B2 (en) * | 2003-01-21 | 2009-03-31 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7493416B2 (en) * | 2003-01-21 | 2009-02-17 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US8346884B2 (en) | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7457906B2 (en) * | 2003-01-21 | 2008-11-25 | Nextio, Inc. | Method and apparatus for shared I/O in a load/store fabric |
US8032659B2 (en) | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7046668B2 (en) | 2003-01-21 | 2006-05-16 | Pettey Christopher J | Method and apparatus for shared I/O in a load/store fabric |
US7836211B2 (en) * | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
US7644177B2 (en) * | 2003-02-28 | 2010-01-05 | Cisco Technology, Inc. | Multicast-routing-protocol-independent realization of IP multicast forwarding |
US7930757B2 (en) * | 2003-10-31 | 2011-04-19 | Adobe Systems Incorporated | Offline access in a document control system |
US8108672B1 (en) * | 2003-10-31 | 2012-01-31 | Adobe Systems Incorporated | Transparent authentication process integration |
US8627489B2 (en) * | 2003-10-31 | 2014-01-07 | Adobe Systems Incorporated | Distributed document version control |
US7554990B2 (en) * | 2004-05-13 | 2009-06-30 | Micrel, Inc. | Static address reservation protocol in a data network |
US7827182B1 (en) | 2004-06-02 | 2010-11-02 | Cisco Technology, Inc | Searching for a path to identify where to move entries among hash tables with storage for multiple entries per bucket during insert operations |
US7995758B1 (en) | 2004-11-30 | 2011-08-09 | Adobe Systems Incorporated | Family of encryption keys |
US20060250966A1 (en) * | 2005-05-03 | 2006-11-09 | Yuan-Chi Su | Method for local area network security |
US8832047B2 (en) | 2005-07-27 | 2014-09-09 | Adobe Systems Incorporated | Distributed document version control |
US20070177597A1 (en) * | 2006-02-02 | 2007-08-02 | Yu Ju | Ethernet connection-based forwarding process |
WO2012131697A1 (en) * | 2011-03-31 | 2012-10-04 | Tejas Networks Limited | Optimizing forward database for a bursty network traffic |
US10218524B2 (en) | 2013-09-17 | 2019-02-26 | Cisco Technology, Inc. | Bit indexed explicit replication for layer 2 networking |
US10461946B2 (en) | 2013-09-17 | 2019-10-29 | Cisco Technology, Inc. | Overlay signaling for bit indexed explicit replication |
US9438432B2 (en) | 2013-09-17 | 2016-09-06 | Cisco Technology, Inc. | Bit indexed explicit replication packet encapsulation |
US11451474B2 (en) | 2013-09-17 | 2022-09-20 | Cisco Technology, Inc. | Equal cost multi-path with bit indexed explicit replication |
US9544230B2 (en) | 2013-09-17 | 2017-01-10 | Cisco Technology, Inc. | Migration support for bit indexed explicit replication |
US9571897B2 (en) | 2013-09-17 | 2017-02-14 | Cisco Technology, Inc. | Bit indexed explicit replication for professional media networks |
US10003494B2 (en) | 2013-09-17 | 2018-06-19 | Cisco Technology, Inc. | Per-prefix LFA FRR with bit indexed explicit replication |
US9806897B2 (en) | 2013-09-17 | 2017-10-31 | Cisco Technology, Inc. | Bit indexed explicit replication forwarding optimization |
WO2015042156A1 (en) | 2013-09-17 | 2015-03-26 | Cisco Technology, Inc. | Bit indexed explicit replication |
US9935831B1 (en) * | 2014-06-03 | 2018-04-03 | Big Switch Networks, Inc. | Systems and methods for controlling network switches using a switch modeling interface at a controller |
US9906378B2 (en) | 2015-01-27 | 2018-02-27 | Cisco Technology, Inc. | Capability aware routing |
US10341221B2 (en) | 2015-02-26 | 2019-07-02 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
US10630743B2 (en) | 2016-09-23 | 2020-04-21 | Cisco Technology, Inc. | Unicast media replication fabric using bit indexed explicit replication |
US10637675B2 (en) | 2016-11-09 | 2020-04-28 | Cisco Technology, Inc. | Area-specific broadcasting using bit indexed explicit replication |
US10447496B2 (en) | 2017-03-30 | 2019-10-15 | Cisco Technology, Inc. | Multicast traffic steering using tree identity in bit indexed explicit replication (BIER) |
US10164794B2 (en) | 2017-04-28 | 2018-12-25 | Cisco Technology, Inc. | Bridging of non-capable subnetworks in bit indexed explicit replication |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649109A (en) * | 1992-10-22 | 1997-07-15 | Digital Equipment Corporation | Apparatus and method for maintaining forwarding information in a bridge or router using multiple free queues having associated free space sizes |
US5914938A (en) * | 1996-11-19 | 1999-06-22 | Bay Networks, Inc. | MAC address table search unit |
US6266705B1 (en) * | 1998-09-29 | 2001-07-24 | Cisco Systems, Inc. | Look up mechanism and associated hash table for a network switch |
US6366617B1 (en) * | 1998-10-09 | 2002-04-02 | Matsushita Electric Industrial Co., Ltd. | Programmable filter for removing selected user data from an MPEG-2 bit stream |
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
US6343078B1 (en) * | 2000-05-12 | 2002-01-29 | 3Com Corporation | Compression of forwarding decisions in a network device |
-
1999
- 1999-07-16 TW TW088112055A patent/TW431094B/zh not_active IP Right Cessation
-
2000
- 2000-01-12 US US09/481,713 patent/US6615336B1/en not_active Expired - Lifetime
- 2000-03-13 DE DE10012123A patent/DE10012123B4/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
TW431094B (en) | 2001-04-21 |
US6615336B1 (en) | 2003-09-02 |
DE10012123B4 (de) | 2010-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10012123B4 (de) | Verfahren zum Suchen einer MAC-Adresse in einem Netzwerk-Switch | |
DE60203380T2 (de) | Verfahren und vorrichtung zur mehrfachsendung | |
DE60214670T2 (de) | Verfahren und vorrichtung zur leitweglenkungstabellenverwaltung | |
DE60313371T2 (de) | Verwendung von baumartigen "Bitmap" Datenstrukturen | |
DE69927109T2 (de) | Speicher zur Informationssuche durch Präfixanalyse für Knoten von Hochgeschwindigkeitsnetzen | |
DE2346525C3 (de) | Virtuelle Speichereinrichtung | |
DE102005035201B4 (de) | Netzknoteneinheit und Verfahren zur Weiterleitung von Datenpaketen | |
DE60131596T2 (de) | Stapelbare Sucheinrichtung | |
DE602004011721T2 (de) | Zugriffssteurungsmechanismus für Router | |
EP0619667A1 (de) | Verfahren zum Zugriff auf Adressmerkmale von Kommunikationsteilnehmern mit einem ersten Adress Bereich, beim Versenden von Datenpaketen | |
DE3011552C2 (de) | ||
DE60026229T2 (de) | Verfahren und Vorrichtung für Klassifizierung von Datenpaketen | |
DE69934192T2 (de) | Verfahren und Einrichtung zur Netzverbindung mittels Brücken | |
DE60307241T2 (de) | Vlan tabellenverwaltungssystem in hardwarebasierten paketvermittlungsstellen für speichereffizientes auslesen und einschreiben | |
DE2920490C2 (de) | Datenverarbeitungssystem | |
DE102013208213B4 (de) | System zur Verringerung von Hash-Kollisionen | |
DE19860120B4 (de) | Routensuchschaltung und diese verwendende Kommunikationsvorrichtung | |
DE10028563B4 (de) | Kommunikationssteuerungseinheit | |
DE10058443A1 (de) | Verfahren zum Klassifizieren von Datenpaketen | |
DE2856133A1 (de) | Verarbeitungssystem fuer einen assoziativspeicher | |
DE2231146A1 (de) | Verfahren zum steuern der datenuebertragung in einer datenverarbeitungsanlage und anlage zur durchfuehrung dieses verfahrens | |
DE60032674T2 (de) | Verfahren zum Suchen von Adressen | |
DE2637054B2 (de) | ||
DE10143356A1 (de) | Akzeptanz-Filter | |
DE602004012210T2 (de) | Verfahren and System für eine beschleunigte Paketverarbeitung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 1320 |
|
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |