-
GEBIET DER ERFINDUNG
-
Diese
Erfindung betrifft allgemein das Gebiet des Hochleistungs-Switchings
und insbesondere Verbesserungen von Fibre Channel-Switching, um
die Etablierung von Zonen zum berechtigten Zugriff auf angeschlossene
Einrichtungen bereitzustellen, wobei die Verzonung (Zoning) durch
Hardware erzwungen ist.
-
HINTERGRUND DES STANDES DER
TECHNIK
-
Der
Fibre Channel-Standard wurde etabliert, um Hochleistungs-Switchinglösungen für Computing- und
Datenverarbeitungssysteme bereitzustellen. Beispiele von Anwendungen,
bei denen die Hochgeschwindigkeit und hohe Bandbreite von Fibre
Channel-Switches vorteilhafterweise benutzt werden können, umfassen zusammengeschaltete
Computer und Hochleistungs-Speichereinrichtungen, zusammengeschaltete
Computer in Multicomputer-Betriebsumgebungen und alle Umgebungen,
in denen mehrfache Hochgeschwindigkeitsdaten-Zusammenschaltungen
zwischen designierten Knoten oder Knotengruppen in Datenverarbeitungsnetzen
etabliert werden müssen.
-
Der
Fibre Channel-Standard ANSI X3.T11 definiert in großen Zügen Klassen
und Standards der Funktion und Performance, diktiert aber nicht
die Implementierungstechniken, die zum Bereitstellen dieser Funktionen
verwendet werden. Ein bestimmtes Design eines Switches zum Implementieren
von Fibre Channel-Funktionen wird als das „Fabric" (Gewebe) des Switches bezeichnet. Da
diese Erfindung auf Verbesserungen der Fibre Channel-Switches gerichtet
ist, verwendet die Beschreibung der Erfindung hierin Terminologie und
andere definierte Begriffe aus dem Gebiet der Fibre Channel-Switches
(hier „FC" Switches genannt),
und man findet die Definitionen im FC-Standard.
-
Zwecks
Datenintegrität
und aus Sicherheitsgründen
muss in manchen Netzen sichergestellt werden, dass bestimmte Hosts
oder Einrichtungen gesteuerten Zugriff haben. Beispielsweise kann
bestimmten Hosts erlaubt werden, nur auf bestimmte Speichereinrichtungen
zuzugreifen und umgekehrt. Diese Anforderung bedeutet, dass bestimmte
Kanäle
oder Kanalgruppen, an die die betroffenen Hosts oder Einrichtungen
angeschlossen sind, von Kommunikationen von oder zu anderen Kanälen oder
Kanalgruppen isoliert werden. Verzonungstechniken werden in System
nach Stand der Technik benutzt, um Adresszonen zu definieren, die
für verschiedene
an einen Switch angeschlossene Quellen oder Ziele als gültig angesehen
werden.
-
SOFT-ZONING: DAS PROBLEM
-
Ein
Problem beim Fibre Channel-Zoning in seiner gegenwärtigen Form
liegt darin, dass es eine durch Software erzwungene Verzonung ist,
was oft als Soft-Zoning bezeichnet wird. Beim Soft-Zoning melden
sich an N_Ports und NL_Ports des FC-Fabrics angeschlossene Einrichtungen
beim Fabric an und fragen den Namenserver ab, um zu bestimmen, mit
welchen der entfernten Einrichtungen diese Einrichtung kommunizieren kann,
und was deren FC-Adressen (D_IDs) sind. Der Namenserver definiert
und erzwingt die Zonen, indem er in der Anmeldeantwort die Menge
der Einrichtungen (durch D_ID) auflistet, die in der Zone oder den
Zonen des Anforderers der Anmeldung liegen. Auf diese Weise respektieren
Einrichtungen die Zonen, indem sie nur die vom Namenserver ausgegebenen
D_IDs benutzen.
-
Dies
funktioniert aber nur dann, wenn alle Einrichtungen die Regeln beachten
und es keine Hardwareausfälle
gibt. Soft-Zoning kann auf folgende Weisen verletzt werden.
- • Zonen
können
versehentlich durch HBA-Softwarefehler verletzt werden, die falsche
D_IDs erzeugen.
- • Zonen
können
durch Hardwareausfälle
verletzt werden, wobei die D_ID irgendwo zwischen der Quelleinrichtung
und der Zieleinrichtung verfälscht
wird.
- • Zonen
können
absichtlich verletzt werden durch unhöfliche, aber nicht böswillige
HBAs, wie beispielsweise solche, die alle D_IDs durchgehen, um zu
erkunden, wo andere HBAs angeschlossen sind.
- • Zonen
können
böswillig
durch HBAs verletzt werden, wobei die Absicht besteht, ein System
zu stören.
-
Hu
Yoshida: „LUN
Security Considerations for Storage Area Networks" Hitachi Data Systems
Paper – 1999,
1–7, XP002185193
offenbart Sicherungsverfahren für
LUNs (Logikeinheitsnummern) unter Verwendung von Hostsoftware, Hostbusadapter-Dienstprogrammen,
Switch-Zoning oder -Mapping innerhalb eines Speichercontrollers.
-
Tom
Clark: „Zoning
for Fibre Channel Fabrics" Vixel
Corporation Paper, – 31.
August 1999, (1999-08-31), 1–6,
XP002185194 offenbart in Hardware implementiertes Switch-Zoning
auf einer Port-zu-Port-Basis
zur Erzeugung von virtuellen Privatspeichernetzen.
-
Die
vorliegende Erfindung stellt ein Verfahren und einen Switch zur
Verfügung,
wie in Patentansprüchen
1 und 7 definiert ist.
-
Die
vorliegende Erfindung löst
die erörterten
Probleme, die Soft-Zoning-Systemen innewohnen, durch Bereitstellen
von durch Hardware erzwungenem Zoning, was hierin auch Hard-Zoning
genannt wird. Hard-Zoning verhindert die Verletzung von zugewiesenem
Zoning durch die oben erörterten
versehentlichen oder beabsichtigten Soft-Zoning-Probleme, wodurch
Systemdatenintegrität
und -sicherheit verbessert werden.
-
Hard-Zoning
löst die
Soft-Zoning-Probleme durch Verwendung einer Hardwareprüfung der
Quell-ID (S_ID)
des Rahmens sowohl am Punkt, wo der Rahmen im Fabric ankommt, als
auch am Punkt, wo der Rahmen das Fabric verlässt.
-
Wie
in 1 gezeigt ist, wird erfindungsgemäß die Rahmen-S_ID
am Eingangspunkt des Rahmens in das Fabric (an einem F_Port oder
FL_Port, aber nicht an einem E_Port) validiert, um zu verhindern,
dass falsche S_IDs das tabellengetriebene Zoning an dem Punkt verletzen,
wo die Rahmen das Fabric verlassen. Falls die S_ID gültig ist,
kommt sie im Fabric an und wird auf normale Weise geroutet. Falls
ungültig,
dann wird der Rahmen nicht geroutet, sondern wird gemäß den FC-Regeln
vom Fabric beseitigt.
-
Die
Rahmen-S_ID wird an dem Punkt validiert, wo der Rahmen das Fabric
verlässt
(an einem F_Port oder FL_Port, aber nicht an einem E_Port), um sicherzustellen,
dass der Rahmen auf der Basis der S_ID ein Teil der Zone oder Zonen
ist, zu der/denen der angeschlossene N_Port oder NL_Port gehört. Rahmen-S_IDs werden
gegen eine Liste der S_IDs verglichen, die für diesen Port gültig sind,
wobei die Größe der Liste
von der Implementierung abhängt
und wobei jeder Eintrag eine Quelle definiert, die Rahmen an dieses
Ziel übertragen
darf. Falls die S_ID mit einem Eintrag in der Liste übereinstimmt,
wird sie aus dem Fabric ans Ziel geroutet. Falls die S_ID mit keinem
Eintrag in der Liste übereinstimmt,
wird der Rahmen nicht ans Ziel weitergeleitet, sondern wird gemäß den FC-Regeln
vom Fabric beseitigt.
-
Dieses
Verfahren funktioniert sowohl für
Fabric-Wolken, die durch E_Ports zusammengeschaltete homogene Switch-Einrichtungen
enthalten, als auch für
Wolken, die durch E_Ports zusammengeschaltete heterogene Switch-Einrichtungen
enthalten, vorausgesetzt, dass alle Switch-Einrichtungen S_ID-basiertes Hard-Zoning
auf die oben beschriebene Weise benutzen.
-
Das
Verfahren funktioniert auch teilweise, wenn einige heterogene Einrichtungen
mit S_ID-Hard-Zoning
ausgerüstet
sind und andere nicht. In diesem Fall wird den so ausgerüsteten Einrichtungen
voller Hard-Zoning-Schutz geboten, nur nicht von Rahmen, die im
Fabric aus nicht derartig ausgestatteten Einrichtungen ankommen,
deren S_ID falsch ist.
-
Das
Verfahren funktioniert auch dann, wenn in derartig ausgerüsteten Einrichtungen
einige Fabric-Ports
absichtlich vom Hard-Zoning-Schutz ausgenommen werden, wodurch ein
Fall von beabsichtigtem Halbduplex-Hard-Zoning erzeugt wird. Dies
kann geschehen, um die Beschränkungen
der Hard-Zoning S_ID-Einschlussliste zu umgehen, die einen endlichen
Bereich hat.
-
Die
Hard-Zoning-Verfahren und -Switches der vorliegenden Erfindung stellen
eine Reihe von vorteilhaften Merkmalen bereit, die Folgendes umfassen:
- • Die
Verfahren und Techniken der vorliegenden Erfindung stellen eine
Form des Hard-Zoning
in einem Switch-Fabric bereit, das durch Hardware-Prüfung der
Rahmen-S_IDs gegen eine Einschlussliste zulässiger S_IDs ausgeführt wird,
bevor der Rahmen das Fabric verlassen darf.
- • Die
Erfindung erlaubt mehrfache überlappende
Hard-Zones für
ein Ziel (N_Port oder NL_Port) über
das größte der
FC-Fabrics. Die S_ID-Einschlussliste basiert auf 24-Bit-Adressen,
was ermöglicht,
dass Zonen aus beliebigen Knoten innerhalb des gesamten Fibre Channel-Adressraums
mit 16.777.216 Adressen bestehen.
- • Die
Erfindung erlaubt die Implementierung mehrfacher überlappender
Hard-Zones mit feinster FC-Adressier-Granularität, die bis herunter zur Schleifeneinrichtung
geht, sowohl an der Rahmenquelle als auch dem Rahmenziel, wo jeder
der 126 möglichen
Knoten auf einer Schleife eindeutige Zoneneigenschaften ausdrücken kann.
- • Die
Erfindung bringt Hard-Zoning an einem Fabric-Zielport (F_Port oder
FL_Port) zustande durch eine Einschlusstabelle zulässiger S_ID-Werte,
die für
jeden Fabric-Port eindeutig ist. Die Einschlusstabelle wird von
Hardware benutzt, um zulässige
Rahmen durchzulassen und unzulässige
Rahmen zu blockieren. Dieser Mechanismus schützt gegen beabsichtige und
unbeabsichtigte Zonengrenzverletzungen.
- • Die
Erfindung implementiert die Einschlusstabelle als eine programmierbare
Hardwaretabelle, als CAM implementiert, die Mehrfacheinträge enthält, wobei
jeder Eintrag einen 24-Bit-S_ID-Wert
enthält
zusammen mit verschiedenen Vergleichsüberwachungen. Ein einzelner
Eintrag repräsentiert
typischerweise eine einzelne Quelle wie beispielsweise einen an
einen F_Port angeschlossenen N_Port oder einen an einen FL_Port
angeschlossenen NL_Port.
- • Die
Erfindung stellt einen Weg bereit, um den Quellenbereich zu vergrößern, den
eine Einschlusstabelle ausdrücken
kann, durch Implementierung von Stellvertreterzeichen auf einer
Eintrag-zu-Eintrag-Basis,
was den Vergleich des Port-Werts oder der Port- und Gebietswerte
der S_ID deaktivieren kann. Bin einzelner Eintrag kann dann alle
Ports in einem Gebiet oder alle Ports und Gebiete in einer Domäne ausdrücken.
- • Die
Erfindung erlaubt eine Erhöhung
der Flexibilität
von Bereichen durch Implementieren von Ausnahmen zu einem Bereich.
Ein einzelner Eintrag definiert den Bereich, und ein oder mehrere
Einträge
definieren Ausnahmen zum Bereich.
- • Die
Erfindung verhindert Zonenverletzung durch falsche S_IDs durch Implementieren
der S_ID-Validierung gegen die native Port-ID, wenn Rahmen im Fabric
ankommen. Zulässige
S_IDs werden normal geroutet, unzulässige S_IDs werden nicht geroutet.
- • Die
Erfindung erlaubt, dass ein F_Port und sein angeschlossener N_Port
zu so vielen Zonen gehört,
wie es die S_ID-Einschlussliste erlaubt.
- • Die
Erfindung erlaubt mehrfache Zonen pro Schleife und überlappende
Zonen auf einer Schleife. Die Zahl der auf einer Schleife unterstützten Zonen
ist variabel (n), und zwar mindestens gleich 2 und kann so groß sein,
wie es die Erfordernisse erlauben. Jede Schleifeneinrichtung (auf
Port oder AL_PA basierend) kann zu 1 bis n Zonen gehören.
- • Die
Beschränkungen
der Erfindung bezüglich
der Gesamtzonenzahl auf einem F_Port oder der Gesamtzonenzahl auf
einer Schleife legen der Gesamtzahl der Zonen in einem Fabric keine
Beschränkungen
auf.
- • Die
Erfindung funktioniert über
Fabrics, die ein einzelnes Switch-Element (Domäne) umfassen, über Fabrics,
die mehrfache homogene, durch E_Ports zusammengeschaltete Switches
umfassen, und über
Fabrics, die mehrfache heterogene, durch E_Ports zusammengeschaltete
Switches umfassen.
- • Die
Erfindung erlaubt bestimmten Rahmentypen, von Zoning unbeeinflusst
zu bleiben. Rahmen mit FC-bekannten S_IDs und ein durch das Fabric
selbst erhaltener Rahmen sind vom Zoning ausgeschlossen, d. h. sie
werden immer geroutet.
- • Die
Erfindung erlaubt, dass „unhöfliche" S_IDs in der Hardware
erkannt werden, wobei für
diese Rahmen eine unterschiedliche Disposition erlaubt wird, dass
sie beispielsweise sofort abgeworfen werden, anstatt durch den Fabric-Manager
als Ausnahme verarbeitet zu werden.
- • Die
Erfindung betrifft sowohl Duplex-Zoning, wo an beiden Enden Hard-Zoning
mit bidirektionalem Verkehr erzwungen wird, und Halbduplex-Zoning,
wo Hard-Zoning an einem Ende, aber nicht am anderen Bade erzwungen
wird. Halbduplex-Zoning kann für
einige Topologien die Beschränkungen
der S_ID-Einschlusstabelle lösen
und ist ein Erfordernis, wenn eine Fabric-Wolke mehrfache Switch-Typen
umfasst, wo einige Hard-Zoning einsetzen und andere nicht.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine symbolische Repräsentation
einer FC-Fabric-Wolke, die S_ID-Validierungspunkte gemäß einem
erfindungsgemäßen Aspekt
zeigt;
-
2 ist
ein Blockdiagramm eines Teils eines Fabrics, das Quellport-S_ID-Validierung
gemäß einem erfindungsgemäßen Aspekt
zeigt;
-
3 ist
ein Blockdiagramm eines Teils eines Fabrics, das Zielport-S_ID-Validierung
gemäß einem
erfindungsgemäßen Aspekt
zeigt;
-
4 ist
ein Diagramm eines SIL(Quell-S_ID-Einschlussliste)-Eintrags, der
in der Validierung von 3 benutzt werden kann;
-
5 ist
ein Blockdiagramm eines Teils eines Fabrics, das S_ID-Vergleich
gemäß einem
erfindungsgemäßen Aspekt
zeigt;
-
6 ist
ein Blockdiagramm eines Teils eines Fabrics, das SIL-Eintrags-Vergleich
gemäß einem
erfindungsgemäßen Aspekt
zeigt;
-
7 ist
ein Diagramm, das das Format der Quellzonenmaske zeigt;
-
8 ist
ein Diagramm, das das Format der Zielzonenmaske zeigt;
-
9 ist
ein Blockdiagramm des Hard-Zoning-Zustands gemäß einem erfindungsgemäßen Aspekt;
-
10 ist
ein Diagramm eines Beispiels (Beispiel A) der Verwendung der Erfindung
beim Verbinden von Multihosts an Multispeichereinrichtungen mit
Hard-Zoning;
-
11 ist
ein Diagramm eines Beispiels (Beispiel B) der Verwendung der Stellvertreterzeichen-Technik beim Verbinden
von Multihosts an Multispeichereinrichtungen mit Hard-Zoning; und
-
12 ist
ein Diagramm eines Beispiels (Beispiel C) der Verwendung der Stellvertreterzeichen-Technik mit Ausnahmen
beim Verbinden von Multihosts an Multispeichereinrichtungen mit
Hard-Zoning.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSARTEN
-
Die
Gesamtoperation der S_ID-Validierung wird oben mit Bezug auf 1 erörtert. Die
detaillierte Operation wird unten mit Bezug auf die Figuren und
Tabellen erörtert.
-
QUELL-FABRIC-PORT S_ID-VALIDIERUNG
-
1 zeigt
die Technik für
Quell-Fabric-Port S_ID-Validierung. Diese stellt sicher, dass die
eingehenden Rahmen-S_ID-Werte zulässig sind, damit der Hard-Zoning-Mechanismus
wirksam ist. Diese Funktion erfordert eine Aktivier-/Deaktiviersteuerung,
weil sie nur auf F_Ports und FL_Ports aktiviert sein sollte, aber
nicht auf E_Ports.
-
Das
native ID-Register (1) ist der Fabric-Port-Logik systemeigen
und wird typischerweise vom Fabric-Manager (15) an die
für den
Port gewählte
ID geschrieben, kann aber in einem einfacheren Design mit größeren Operationsbeschränkungen
in der Logik festverdrahtet sein. Die native ID ist die Domäne und das
Gebiet des F_Ports oder FL_Ports. Das Hard-Zoning Aktivieren FF
(2) ist auch der Fabric-Port-Logik systemeigen und vom
Fabric-Manager (15) geschrieben, was die Funktion auf F_Ports
und FL_Ports aktiviert, aber auf E_Ports deaktiviert.
-
Der
eingehende Rahmen (3) wird geparst und der S_ID-Inhalt
(Bits 23:0) des Rahmenworts 2 wird dieser Schaltungsanordnung vorgelegt.
Rahmen-S_ID_Domäne
und -Gebiet (5), die Bits 23-8 des Rahmenworts 2, werden
gegen Domäne
und Gebiet (6) des nativen ID_Registers (1) im
Komparator (11) verglichen. Match/Mismatch wird in das
Gatter (14) gespeist.
-
Falls
es einen Fehlvergleich gibt und das Hard-Zoning (2) aktiviert
ist, dann spezifiziert das Gatter (10) eine unzulässige Rahmen-S_ID.
In diesem Fall wird der Rahmen nicht normal geroutet (er wird nie
das beabsichtigte Ziel erreichen), sondern wird typischerweise an
den Fabric-Manager zur Verarbeitung gemäß den Fibre Channel-Regeln
für Switches
weitergegeben. Dies bedeutet typischerweise, dass ein Rahmen der
Klasse 2, der den S_ID-Test nicht besteht, dem Sender eine Antwort
mit Begründungscode
zurückschickt
und dass ein Rahmen der Klasse 3, der den S_ID-Test nicht besteht,
abgeworfen wird.
-
Falls
es keinen Fehlvergleich in der Rahmen S_ID gibt oder falls das Hard-Zoning
Aktivieren (2) nicht aktiv ist, dann spezifiziert das Gatter
(10), dass der Rahmen normal geroutet wird, d. h. dass
er zum von der Rahmen-D_ID spezifizierten Fabric-Zielport geroutet
wird.
-
Diese
Funktion stellt sicher, dass im Fabric ankommende Rahmen nicht weitergeleitet
werden, falls die S_ID auf irgendeine Weise unzulässig ist.
-
ZIEL-FABRIC-PORT S_ID-VALIDIERUNG
-
Ziel-Fabric-Port
S_ID-Validierung, mit Bezug auf 3 beschrieben,
stellt sicher, dass ausgehende Rahmen zugelassen sind, um an die
angeschlossene(n) Einrichtung(en) zu senden. Diese Funktion erfordert eine
Aktivier-/Deaktiviersteuerung, da sie nur auf F_Ports und FL_Ports
aktiviert werden sollte, aber nicht auf E_Ports.
-
PROBLEME MIT LINEAREN TABELLEN
-
Idealerweise
würde S_ID-Hard-Zoning
in jedem an das Fabric angeschlossenen Hostbusadapter (HBA) ausgeführt werden.
Jeder HBA hätte
seine eigene eindeutige Zoning-Tabelle. Die FC-Standards erfordern
jedoch, dass Zoning-Funktionen, Hard und Soft, im Fabric enthalten
sein müssen.
-
Eine
lineare Einschlusstabelle wäre
wohl am einfachsten. Um jedoch für
jede Adresse im FC-Adressbereich
zu funktionieren, ist eine sehr große Tabelle erforderlich. Für einen
F_Port hätte
sie für
jede mögliche FC-Quelladresse
einen Eintrag, woraus sich eine Tiefe von 256 Domänen·256 Gebieten·256 Ports
= 16.777.216 Tabelleneinträgen/Port
ergibt. Im Fall eines FL_Ports muss die Tabelle auch bis zu 126
Schleifeneinrichtungen repräsentieren,
deren jede zu verschiedenen Zonen gehört, was für jede eine eindeutige lineare Einschlusstabelle
erfordern würde.
Die Gesamtzahl von Einschlusstabelleneinträgen für einen FL_Port wäre dann
256·256·256·126 =
2.113.929.216 Tabelleneinträge/Port.
-
Kürzere lineare
Zonentabellen können
benutzt werden, wo eine begrenzte Adressenmenge, typischerweise
am Wert Domäne
1/Gebiet 0, Port 0 beginnend und sequenziell ansteigend bis zur
implementierten maximalen Tabellengröße, wirtschaftlich sein kann.
Diese Tabellen können
jedoch keine FC-Adresse ausdrücken, was
die Fabrics, die behandelt werden können, stark begrenzt. Falls
beispielsweise die Tabelle 512 Einträge hatte, könnte sie alle Adressen in den
Domänen
0 × 01
und 0 × 02
ausdrücken,
aber keine in den Domänen
0 × 03
bis 0 × EF.
-
Das
hier beschriebene Verfahren nutzt eine Zufallstabelle von 24-Bit-S_IDs,
als Assoziativspeicher (Content Addressable Memory, CAM) konstruiert,
wo eine Rahmen-S_ID gegen alle CAM-Einträge gleichzeitig verglichen
werden kann, um einen Vergleich oder eine Inklusion zu suchen. Da es
24-Bit-Einträge
sind, kann der CAM eine FC-Adresse repräsentieren, ist aber darauf
beschränkt,
eine sehr viel kleinere Teilmenge der FC-Adressen als das FC-Maximum
zu repräsentieren.
Beispielsweise könnte
erwartet werden, dass der CAM 16-256 Adressen wirtschaftlich speichern
könnte,
aber mehr oder weniger von der Anwendung und Verfügbarkeit
von Ressourcen abhängen
könnte.
-
Das
Verfahren hat einen einzelnen CAM pro Fabric-Port-Sender, sogar
dann, wenn das Ziel ein FL_Port ist, und muss so mit immerhin 126
Schleifenzielen arbeiten. Aus diesem Grund stellt der CAM eine Quellzonenmaske
für jeden
S_ID-Eintrag bereit, die gegen eine in einer separaten Lookuptabelle
enthaltenen Zielzonenmaske verglichen wird.
-
Es
gibt eine einzelne Zielzonen-Maskentabelle pro Fabric-Port-Sender,
wobei jeder Eintrag ein Schleifenziel oder AL_PD repräsentiert,
und die typischerweise für
jede der 126 zulässigen
AL_PDs einen Eintrag bat.
-
CAM-BASIERTE EINSCHLUSSTABELLE
-
Diese
benutzt die S_ID-Einschlussliste (SIL), die beschreibt, welche Quellen
an diesen Port senden dürfen,
und falls das Ziel eine Schleife ist, zu welchen Zonen jede Quelle
gehört.
-
Sie
benutzt auch die AL_PD-Zonenliste (AZL), die nur benutzt wird, falls
das Ziel eine Schleife ist, die beschreibt, zu welchen Zonen eine
Ziel-AL_PA gehört.
-
DIE S_ID-EINSCHLUSSLISTE (SIL)
-
Die
SIL (31) ist eine programmierbare Liste mit 24-Bit-S_IDs,
die vom Fabric-Manager als denselben Zonen zugehörig angesehen werden wie der
fragliche Port, wo jeder Eintrag auch eine 2-Bit-Vergleichsmaske und eine Quellzonenenmaske
hat. Die SIL wird vom Fabric-Manager (32) auf der Basis
von Zoneninformation geschrieben. Die SIL (31) kann jede
Größe haben,
würde aber
typischerweise so viele Einträge
enthalten wie wirtschaftlich durchführbar ist, so viele Quellen
wie möglich
zulassen, und so viele Topologien wie möglich behandeln. Die SIL (31)
gibt dem S_ID-Vergleich (34) S_ID-Vergleichsinformation (33)
und dem Quellzonenmasken-MPX (42) die Quellzonenmaske (41).
-
Das
Eintragsformat der SIL (31) ist in 4 gezeigt.
-
Die „Quell-S_ID" hat 24 Bits und
definiert eine zulässige
Quell-S_ID, falls der „Maskenvergleich"-Wert nicht gleich
00 ist. Jede S_ID im FC-Adressbereich von 0 × 0 – FFFFFF kann ausgedrückt werden.
-
Die „Quellzonenmaske" ist eine Bitmaske
variabler Größe, die
definiert, zu welcher Zone oder Zonen die Quelle gehört. Siehe
unten die Erklärung
von Zonenmaske.
-
„Maskenvergleich" definiert, wie der
Vergleich gegen die Rahmen-S_ID verlaufen soll.
- 00 = Slot
ist nicht zulässig.
Ein Vergleich gegen diesen Eintrag ist nicht möglich.
- 01 = Keine Maske. Domäne/Gebiet/Port
werden verglichen [siehe unten Notiz 1]
- 10 = Maskenport. Domäne/Gebiet
werden verglichen [siehe unten Notiz 2]
- 11 = Maskengebiet und Port. Domäne wird verglichen [siehe unten
Notiz 3]
- [Notiz 1] Der Eintrag repräsentiert
genau 1 Quelle.
- [Notiz 2] Der Eintrag könnte
126 Quellen repräsentieren.
- [Notiz 3] Der Eintrag könnte
256 * 126 = 32.256 Quellen repräsentieren.
-
S_ID VERGLEICH
-
S_ID-Vergleich
(34) (siehe 5) wird benutzt, um die S_ID
eines Rahmen gleichzeitig mit allen Einträgen in der SIL (31)
zu vergleichen und die Ergebnisse der Hard-Zoning-Zustandsmaschine
(47) zu präsentieren.
Jeder Eintrag der SIL (31) wird gegen die Rahmen-S_ID (23:0)
(37) verglichen unter Verwendung des S_ID-Werts und der
Vergleichsmaske des Eintrags (33) der SIL (31).
Kommt ein Match zustande, codiert S_ID-Vergleich (34) die
ausgewählte
Eintragsnummer in einen Wert (43), der den Quellzonenmasken-MPX (42)
steuert. Der Zustand Hit (45) und Multihit (46)
wird zum Verarbeiten an die Zoning-Zustandsmaschine (47) geschickt.
-
S_ID-Vergleich
(34) destilliert den Hit/kein Hit-Zustand aus jedem wie
oben beschriebenen SIL-Eintrags-Vergleich
in einen Kein Hit-, Hit- oder Multihit-Zustand für den in Verarbeitung befindlichen
Rahmen. Er codiert auch die Eintragsnummer des Hits in einen Binärwert zur
Verwendung im Quellzonenmasken-MPX.
-
Es
existiert eine autonome Vergleichsschaltung für jeden SIL-Eintrag, wie in 6 gezeigt
ist. Die Hit/Kein Hit-Ausgabe wird in den Destillator (siehe 5)
eingespeist.
-
DESTILLATOR
-
Der
Destillator verarbeitet Ergebnisse von SIL-Eintrags-Vergleichen.
-
Ein
Miss (Versagen) findet statt, falls weder ein Hit noch ein Multihit
stattfindet. Dies führt
zur Ablehnung des Rahmens.
-
Ein
Hit findet statt, falls der Vergleich für einen Einzelantrag gelingt.
Dies ist der erste Schritt, um die Annahme des Rahmens zu verursachen,
wobei der zweite im SIL/AZL-Zonenmasken-Vergleich besteht.
-
Ein
Multihit findet statt, falls der Vergleich für zwei oder mehr Einträge gelingt.
Dies führt
zur Ablehnung des Rahmens. Auf diese Weise werden Ausnahmen zu Bereichen
implementiert und damit werden auch Programmfehler behandelt.
-
Die
Eintragsnummer wird bei einem Hit als MPX-Auswahl für den Quellzonenmasken-MPX
benutzt.
-
QUELLZONENMASKEN-MPX
-
Der
Quellzonenmasken-MPX (42) erzeugt die Zonenmaske, die mit
der Quell-S_ID assoziiert ist, die ihrerseits ein Match für die Rahmen-S_ID
war. Die MPX-Auswahl (43) wird vom S_ID-Vergleich (34)
erzeugt, bei dem es sich um den codierten Wert des SIL (31)
Eintrags handelt, der ein Match für die Rahmen-S_ID war. Die
Ausgabe des Quellzonenmasken-MPX (44) wird an die Hard-Zoning-Zustandsmaschine
(47) weitergegeben, die sie gegen die Zielzonenmaske (40)
vergleichen wird.
-
Die
Quellzonenmaske kann eine beliebige Zahl von Bits enthalten, je
nach der Anzahl der Zonen, die eine Schleife gemäß ihrer Konstruktion behandeln
kann. Beispielsweise impliziert eine 4-Bit-Zonenmaske, dass eine Schleife bis zu
4 Zonen haben kann, und eine 8-Bit-Maske erlaubt 8 Zonen. Die Größe der Quellzonenmaske
in der SIL (31) muss mit der Größe der Zielzonenmaske in der
AZL (38) identisch sein.
-
DIE AL_PD-ZONENLISTE (AZL)
-
Die
AZL (38) (3) ist eine programmierbare
Tabelle mit 126 Einträgen,
mit einem Eintrag für
jede zulässige
AL_PA, die für
jeden Zielschleifenport die Zonenmaske enthält. Die Rahmen-AL_PD (36)
stellt der AZL (38) die Adresse zur Verfügung, die
die Zielzonenmaske (40) erzeugt, die der Hard-Zoning-Zustandsmaschine
(47) gegeben wird, die sie gegen die Quellzonenmaske (44)
vergleichen wird. Die AZL wird auf der Basis von Zoneninformation
vom Fabric-Manager (39) geschrieben. Damit die Schleife
in der Auswahl zuweisbarer AL_PAs nicht eingeschränkt wird,
ist es wünschenswert,
dass die AZL 126 Einträge
hat, und zwar je eine für
jede zulässige
AL_PA. Weniger Einträge
sind möglich,
falls eine Beschränkung
des AL_PA-Bereichs annehmbar ist.
-
Die
Zielzonenmaske kann eine beliebige Anzahl von Bits enthalten, je
nach der Anzahl der Zonen, die eine Schleife gemäß ihrer Konstruktion behandeln
kann. Beispielsweise impliziert eine 4-Bit-Zonenmaske, dass eine Schleife bis zu
4 Zonen haben kann, und eine 8-Bit-Maske erlaubt 8 Zonen. Die Größe der Zielzonenmaske
in der AZL (38) muss mit der Größe der Quellzonenmaske in der
SIL (31) identisch sein.
-
HARD-ZONING-AKTIVIERUNG
-
Die
Hard-Zoning-Aktivierung (53) (3) ist ein
Speicherelement, das dazu programmiert ist, Hard-Zoning auf dem
Port zu aktivieren oder zu deaktivieren, und wird auf der Basis
von Zoning- und Topologieinformation vom Fabric-Manager (54)
geschrieben. Falls Hard-Zoning in der Fabric-Wolke eingesetzt wird, wird
sie für
F_Ports und FL_Ports auf aktiv gesetzt und für E_Ports auf inaktiv.
-
Der
Zustand von Hard-Zoning-Aktivierung (52) wird in die Hard-Zoning-Zustandsmaschine
(47) eingespeist, um die Funktion zu konditionieren. Hard-Zoning-Aktivierung
(52) ist eindeutig für
den Port und ist dasselbe Speicherelement, das die S_ID-Validierung
auf eingehenden Rahmen aktiviert/deaktiviert.
-
DIE HARD-ZONING-ZUSTANDSMASCHINE
-
Die
Hard-Zoning-Zustandsmaschine (47) (9) bestimmt
die Anordnung aller Rahmen, die das Fabric an einem bestimmten Port
zu verlassen versuchen.
- • Falls Hard-Zoning deaktiviert
ist;
– alle
Rahmen passieren diese Funktion und werden anstelle anderer Fabric-Funktionen
aus dem Fabric an den Zielknoten weitergeleitet.
- • Falls
Hard-Zoning aktiviert ist;
– falls die Rahmen S_ID im
Bereich von 0 × Fxxxxx – FFFFFF
ist oder falls der Rahmen aus dem Switchbox-Prozessorkomplex kommt,
wird Hard-Zoning ignoriert und der Rahmen wird normal geroutet.
– Falls
der Port ein F_Port ist, ist nur der S_ID-Vergleich erforderlich.
In diesem Fall sind Zonenmasken logisch irrelevant, aber alle Zonenmasken
in der SIL und alle Zonenmasken in der AZL werden auf einen Wert gesetzt
(beispielsweise Hex FF), der in allen Fällen einen Zonenvergleichmaske
garantiert. Man beachte, dass die Konstruktion implementiert werden
könnte,
sodass ein F_Port den Zonenvergleichmaske deaktivieren könnte, um
die Zonenmasken nicht programmieren zu müssen.
– Falls der Port ein FL_Port
ist, ist der Vergleich derselbe, aber die Zonenmasken sind jetzt
relevant und müssen
gemäß den in
Gebrauch befindlichen tatsächlichen
Zonen programmiert werden.
– Falls es in der SIL einen
Hit gibt, die SIL-Zonenmaske aber gleich 00 ist, ist der Rahmen
ungültig.
Dies ist ein absichtlicher Weg, um bekannte schlechte Quellen abzulehnen.
– Falls
es in der SIL einen Multihit gibt, ist der Rahmen ungültig. Dies
implementiert die Ausnahme zu einer A-Bereichsfunktion.
-
Die
Quellzonenmaske (62) wird vom Quellzonenmasken-MPX (42)
bereitgestellt. Die Zielzonenmaske (63) wird von der AZL
(38) bereitgestellt. Ein Bitvergleich wird zwischen den
zwei Masken in den AND-Gattern (66) gemacht, die alle im
Gatter (67) durch OR verbunden werden, wobei das Gatter
aktiv ist, falls ein Bitpaar gesetzt ist, und inaktiv, falls kein
Bitpaar gesetzt ist.
-
Funktion
(68) ist aktiv, falls alle Bits der Quellzonenmaske gleich
null sind. Dies ist der Test für
eine bekannte schlechte S_ID, die auf diese Weise getaggt wurde,
um sicherzustellen, dass sie sofort abgeworfen wird.
-
S_ID-Hit
(60) und S_ID-Multihit (61) kommen vom S_ID-Vergleich
(34). Hard-Zone-Aktivierung (65) kommt vom Speicherelement
des gleichen Namens (52). Die Übersetzung für S_ID =
0 × Fxxxxx
+ Rahmenquelle = Fabric-Manager (64) wird lokal ausgeführt.
-
Das
AND-Gatter (69) befiehlt das unbedingte Abwerfen von Rahmen,
deren Quellzonenmaske gleich 0 ist.
-
Das
AND-Gatter (70) befiehlt, dass ein Rahmen gültig ist,
weil er den allgemeinen Hard-Zoning-Test besteht.
-
Das
AND-Gatter (71) befiehlt, dass der allgemeine Rahmen gültig ist.
-
BEISPIEL A
-
Multihosts
auf F_Ports, an Multispeichereinrichtungen auf FL_Ports angeschlossen
Das Diagramm von 10 stellt zwei Hosts dar, die
an einen Switch angeschlossen sind, der den Zugriff auf ihre Speicher bildet.
Hard-Zoning wird so eingerichtet, dass Host A nur auf Platten in
Zone A zugreifen kann und Host B nur auf Platten in Zone B zugreifen
kann. Host A und Host B können
auch auf einander zugreifen, und Host A und Host B teilen sich den
Zugriff auf einige Platten. Zonenmasken haben das Bit 0 der Zone
A zugewiesen und Bit 1 der Zone B zugewiesen.
-
Die
programmierbaren Werte für
jeden Fabric-Port sind wie folgt.
-
Port 01,00 (domäne 01, gebiet 00): Host a
-
TABELLE 1: BEISPIEL A SIL-INHALT
SIL-Eintrag | Vergleich-Maske (Bin) | Domänen-wert (Hex) | Gebiets-wert (Hex) | Portwert (Hex) | Quellzonenmaske
(Hex) | Kommentar |
0 | 02 | 01 | 03 | xx | FF | Host
B |
1 | 01 | 01 | 01 | 04 | 01 | Schleife
x, alpa = 04 (gehört
in Zone A) |
2 | 01 | 01 | 01 | 05 | 03 | Schleife
x, alpa = 05 (gehört
in Zonen A & B) |
3 | 01 | 01 | 02 | 03 | 01 | Schleife
y, alpa = 03 (gehört
in Zone B) |
TABELLE 2: BEISPIEL A AZL-INHALT
AZL-Eintrag
(Hex) | Zielzonenmaske
(Hex) | Kommentar |
alle | FF | |
-
Port 01,01 (Domäne 01, Gebiet 01): Schleife
x
-
TABELLE 3: BEISPIEL A SIL-INHALT
SIL-Eintrag | Vergleich-Maske (Bin) | Domänenwert
(Hex) | Gebiets-wert (Hex) | Portwert (Hex) | Quellzonenmaske
(Hex) | Kommentar |
0 | 02 | 01 | 00 | xx | 01 | Host
A (gehört
zu Zone A) |
1 | 02 | 01 | 03 | xx | 02 | Host
B (gehört
zu Zone B) |
TABELLE 4: BEISPIEL A AZL-INHALT
AZL-Eintrag
(Hex) | Zielzonenmaske
(Hex) | Kommentar |
04 | 01 | gehört zu Zone
A |
05 | 03 | gehört zu Zone
A und B |
06 | 02 | gehört zu Zone
B |
andere | 00 | |
-
Port 01,02 (Domäne 01, gebiet 02): Schleife
y
-
TABELLE 5: BEISPIEL A SIL-INHALT
SIL-Eintrag | Vergleich-Maske (Bin) | Domänenwert
(Hex) | Gebietswert (Hex) | Portwert (Hex) | Quellzonenmaske
(Hex) | Kommentar |
0 | 02 | 01 | 00 | xx | 01 | Host
A (gehört
zu Zone A) |
1 | 02 | 01 | 03 | xx | 02 | Host
B (gehört
zu Zone B) |
TABELLE 6: BEISPIEL A AZL-INHALT
AZL-Eintrag
(Hex) | Zielzonenmaske
(Hex) | Kommentar |
01 | 02 | gehört zu Zone
B |
02 | 02 | gehört zu Zone
B |
03 | 01 | gehört zu Zone
A |
andere | 00 | |
-
Port 01,03 (Domäne 01, gebiet = 03): Host b
-
TABELLE 7: BEISPIEL A SIL-INHALT
SIL-Eintrag | Vergleich-Maske (Bin) | Domänenwert
(Hex) | Gebietswert (Hex) | Portwert (Hex) | Quellzonenmaske
(Hex) | Kommentar |
0 | 02 | 01 | 00 | xx | FF | Host
A |
1 | 01 | 01 | 01 | 06 | 02 | Schleife
x, alpa = 06 (gehört
zu Zone B) |
2 | 01 | 01 | 01 | 05 | 03 | Schleife
x, alpa = 05 (gehört
zu Zone A and B) |
3 | 01 | 01 | 02 | 02 | 02 | Schleife
y, alpa = 02 (gehört
zu Zone B) |
4 | 01 | 01 | 02 | 01 | 02 | Schleife
y, alpa = 01 (gehört
zu Zone B) |
TABELLE 8: BEISPIEL A AZL-INHALT
AZL-Eintrag
(Hex) | Zielzonenmaske
(Hex) | Kommentar |
alle | FF | |
-
Wie
oben beschrieben konfiguriert ist das erwünschte Hard-Zoning für Beispiel
A, 10 zustande gebracht.
-
BEISPIEL B: VERWENDUNG VON STELLVERTRETERZEICHEN
-
Das
Beispiel in 11 stellt dar, wie ein einzelner
SIL-Stellvertreterzeichen-Eintrag alle Einrichtungen in einer Domäne repräsentieren
kann. Dies zeigt das Hard-Zoning von Host A aus gesehen, wo einige
der anderen Ports in derselben Domäne in Zone A sind und alle
Ports in der anderen Domäne
ein Teil von Zone A sind.
-
Port 01,03 (Domäne 01, Gebiet = 00): Host a
-
TABELLE 9: BEISPIEL B SIL-INHALT
SIL-Eintrag | Vergleich-Maske (Bin) | Domänenwert
(Hex) | Gebietswert (Hex) | Portwert (Hex) | Quellzonenmaske
(Hex) | Kommentar |
0 | 02 | 01 | 01 | xx | FF | Einrichtung auf
Domäne 1,
Gebiet 1 |
1 | 02 | 01 | 03 | xx | FF | Einrichtung auf
Domäne 1,
Gebiet 3 |
2 | 03 | 02 | xx | xx | FF | alle
Einrichtungen auf Domäne
2 |
TABELLE 10: BEISPIEL B AZL-INHALT
AZL-Eintrag
(Hex) | Zielzonenmaske
(Hex) | Kommentar |
alle | FF | |
-
Wie
oben beschrieben konfiguriert ist das erwünschte Hard-Zoning für Beispiel
B, 11 zustande gebracht. Man beachte, dass dieses
Beispiel zeigt, wie eine gesamte Domäne durch einen Eintrag repräsentiert werden
kann. Dieselbe Methode kann benutzt werden, um eine gesamte Domäne/Gebiet
durch einen Eintrag zu repräsentieren,
wodurch ermöglicht
wird, alle Ports durch einen Eintrag zu repräsentieren.
-
BEISPIEL C: VERWENDUNG VON STELLVERTRETERZEICHEN
MIT AUSNAHMEN
-
Das
Beispiel von 12 stellt dieselbe Topologie
dar wie für
Beispiel B, aber mit einer Ausnahme zu einem Stellvertreterzeichen.
Dies zeigt das Hard-Zoning von Host A aus gesehen, wo einige der
anderen Ports in derselben Domäne
in Zone A sind und die meisten, aber nicht alle der Ports in der
anderen Domäne
ein Teil von Zone A sind.
-
Port 01,03 (Domäne 01, gebiet = 00): host a
-
TABELLE 11: BEISPIEL C SIL-INHALT
SIL-Einig | Vergleich-Maske (Bin) | Domänenwert
(Hex) | Gebietswert (Hex) | Portwert (Hex) | Quellzonenmaske
(Hex) | Kommentar |
0 | 02 | 01 | 01 | xx | FF | Einrichtung auf
Domäne 1,
Gebiet 1 |
1 | 02 | 01 | 03 | xx | FF | Einrichtung auf
Domäne 1,
Gebiet 3 |
2 | 03 | 02 | xx | xx | FF | alle
Einrichtungen auf Domäne
2 |
3 | 02 | 02 | 02 | xx | FF | Ausnahme zu
Domäne 2
(Ausnahme) |
TABELLE 12: BEISPIEL C AZL-INHALT
AZL-Eintrag
(Hex) | Zielzonenmaske
(Hex) | Kommentar |
alle | FF | |
-
Wie
oben beschrieben konfiguriert ist das erwünschte Hard-Zoning für Beispiel
C, 12 zustande gebracht. Man beachte, dass 4 Einträge 7 Quellen
repräsentieren.
Man beachte auch, dass dies die Verwendung von Stellvertreterzeichen
für eine
Domäne
mit einem einzelnen Eintrag zeigt, aber zusätzliche Einträge für Ausnahmen
zu dieser Domäne
benutzt. Dies kann auch dazu benutzt werden, um Stellvertreterzeichen
für eine
Domäne/Gebiet
zu verwenden, die alle Ports berücksichtigt,
aber zusätzliche
Einträge
für jede
Port-Ausnahme zur Domäne/Gebiet
benutzt.
-
Man
ersieht aus der obigen Beschreibung, dass die vorliegende Erfindung
verbesserte FC-Switch-Techniken
bereitstellt, indem sie robustes, durch Hardware erzwungenes Zoning
für Datenintegrität und -sicherheit
bereitstellt. Obwohl spezifische Ausführungsarten und Techniken beschrieben
wurden, wird deutlich sein, dass die Erfindung nicht auf diese spezifischen
Ausführungsarten
beschränkt
ist und dass viele Variationen innerhalb des Schutzbereichs der
Erfindung möglich
sind.