-
Die
Erfindung betrifft ein Verfahren zum Erzeugen von Kommunikations-Links
zwischen einem ersten Knoten und einem zweiten Knoten.
-
HINTERGRUND
DER ERFINDUNG
-
Bei
vielen Typen von Netzen oder Systemen können Ressourcen in einem ersten
Knoten einen Zugriff auf Ressourcen in einem zweiten Knoten benötigen. Insbesondere
in einem Fall, in dem mehrere Verbindungen oder wiederholte Verbindungen
zwischen dem ersten Knoten und dem zweiten Knoten benötigt werden,
kann der Verbindungsvorgang sehr zeitraubend sein, da der Verbindungsvorgang
z.B. trotz der Tatsache, dass die Verbindung zwischen den gleichen
zwei Knoten stattfindet, jeden Verbindungsvorgang als einen neuen
und isolierten Fall betrachtet.
-
US 5,958,053 beschreibt
ein TCP-Protokoll, bei dem sowohl der Client als auch der Server
ihre Unterstützung
für dieses
Protokoll anzeigen, indem sie ein oder mehr Bits im TCP-Header verwenden, und
bei dem der Client eine ACK-Nachricht an den Server sendet. In der
ACK-Nachricht ist ein codierter Wert enthalten, und angeforderte
Optionen des Client werden rückübertragen,
so dass der Server die Optionen nach einer Verbindungsanforderung
nicht zu speichern braucht.
-
Weitere
Einschränkungen
und Nachteile von herkömmlichen
und traditionellen Lösungsansätzen ergeben
sich für
den Durchschnittsfachmann durch einen Vergleich solcher Systeme
mit der vorliegenden Erfindung, wie sie im Rest der vorliegenden
Anmeldung unter Bezugnahme auf die Zeichnung dargestellt ist.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zum Erzeugen von Kommunikations-Links zwischen
einem ersten Knoten und einem zweiten Knoten gemäß der Definition in dem unabhängigen Patentanspruch
1 zur Verfügung
gestellt. Weitere vorteilhafte Merkmale der Erfindung [finden sich
in den] abhängigen
Unteransprüchen.
-
Aspekte
der vorliegenden Erfindung sind beispielsweise in Systemen und Verfahren
zu finden, welche Verbindungsverhandlungen beschleunigen. Bei einer
Ausführungsform
kann die vorliegende Erfindung ein Verfahren zur Verfügung stellen,
das eine Upper Layer Protocol (ULP)-Verhandlung zwischen einem ersten
Knoten und einem zweiten Knoten beschleunigt. Das Verfahren kann
beispielsweise das Senden eines modifizierten Bestätigungspaketes
von dem ersten Knoten an den zweiten Knoten umfassen, wobei das
modifizierte Bestätigungspaket
Informationen beinhaltet, die verwendet werden, um Parameter zurück zu gewinnen,
die von dem ersten Knoten und dem zweiten Knoten in einer voraus
gegangenen ULP-Verhandlung zwischen dem ersten Knoten und dem zweiten
Knoten vereinbart wurden.
-
Bei
einer anderen Ausführungsform
kann die vorliegende Erfindung ein Verfahren zur Verfügung stellen,
das eine erste Maschine mit einer zweiten Maschine verbindet. Das
Verfahren kann beispielsweise einen oder mehrere der nachfolgenden
Verfahrensschritte umfassen: Senden eines Synchronisationspaketes
von der ersten Maschine an die zweite Maschine; Senden eines Synchronisations-Bestätigungspaketes
von der zweiten Maschine an die erste Maschine; und Senden eines
modifizierten Bestätigungspaketes
von der ersten Maschine an die zweite Maschine.
-
Bei
wieder einer anderen Ausführungsform kann
die vorliegende Erfindung ein Verfahren zur Verfügung stellen, das einen Kommunikations-Link zwischen
einem ersten Knoten und einem zweiten Knoten erzeugt. Das Verfahren
kann beispielsweise einen oder mehrere der nachfolgenden Verfahrensschritte
umfassen: Herstellen einer Transportschichtprotokoll (TLP)-Verbindung
zwischen dem ersten Knoten und dem zweiten Knoten; und Senden von
Informationen von dem ersten Knoten an den zweiten Knoten während der
Herstellung der TLP-Verbindung, wobei die Informationen auf Parameter
Bezug nehmen, um ULP-Verhandlungen für einen bestimmten Typ einer
ULP-Verbindung zwischen dem ersten Knoten und dem zweiten Knoten
zu beschleunigen.
-
Bei
wieder einer anderen Ausführungsform kann
die vorliegende Erfindung ein Verfahren zur Verfügung stellen, das einen Kommunikations-Link zwischen
einem ersten Knoten und einem zweiten Knoten erzeugt. Das Verfahren
kann beispielsweise einen oder mehr der nachfolgenden Verfahrensschritte
umfassen: Herstellen einer TLP-Verbindung zwischen dem ersten Knoten
und dem zweiten Knoten; und Senden von Informationen von dem ersten Knoten
an den zweiten Knoten nach dem Herstellen der TLP-Verbindung, wobei
die Informationen auf Parameter Bezug nehmen, um ULP-Verhandlungen
für einen
bestimmten Typ einer ULP-Verbindung zwischen dem ersten Knoten und
dem zweiten Knoten zu beschleunigen.
-
Diese
und weitere Merkmale und Vorteile der vorliegenden Erfindung ergeben
sich aus einer Durchsicht der nachfolgenden detaillierten Beschreibung
der vorliegenden Erfindung in Verbindung mit den beigefügten Figuren,
in denen sich gleiche Bezugszeichen durchwegs auf gleiche Teile
beziehen.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
1 zeigt
ein Zeitablaufdiagramm zur Veranschaulichung einer Ausführungsform
eines Verbindungsherstellungsvorgangs gemäß der vorliegenden Erfindung.
-
2 zeigt
ein Zeitablaufdiagramm zur Veranschaulichung einer Ausführungsform
eines Vorgangs, der in einem darauf folgenden Verbindungsvorgang
gemäß der vorliegenden
Erfindung verwendet wird.
-
3 zeigt
ein Ablaufdiagramm zur Veranschaulichung einer Ausführungsform
eines Vorgangs, der in einem darauf folgenden Verbindungsvorgang
gemäß der vorliegenden
Erfindung verwendet wird.
-
4 zeigt
ein Ablaufdiagramm zur Veranschaulichung einer anderen Ausführungsform
eines Vorgangs, der in einem darauf folgenden Verbindungsvorgang
gemäß der vorliegenden
Erfindung verwendet wird.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Aspekte
der vorliegenden Erfindung können Systeme
und Verfahren betreffen, die Upper Layer Protocol (ULP)-Verbindungsverhandlungen
zwischen einem ersten Knoten und einem zweiten Knoten auf der Grundlage
zumindest von voraus gegangenen ULP-Verbindungsverhandlungen zwischen dem
ersten Knoten und dem zweiten Knoten beschleunigen. Einige Ausführungsformen
können
Systeme und Verfahren betreffen, die ULP-Verbindungsverhandlungen
durch das Bereitstellen zusätzlicher Informationen
während
der oder unmittelbar im Anschluss an die Lower Layer Protocol (LLP)-Verbindungsherstellung
(z.B. eine Transportschichtprotokoll (TLP)-Verbindungsherstellung) zwischen dem ersten
Knoten und dem zweiten Knoten beschleunigen. Die zusätzlichen
Informationen, die während
der Herstellung der LLP-Verbindung
zwischen dem ersten Knoten und dem zweiten Knoten bereit gestellt werden,
können
beispielsweise Informationen umfassen, die auf vorausgehend aus gehandelte
und vereinbarte Parameter, Credentials bzw. Legitimationen (z.B.
anwendungsspezifische Credentials) und Sicherheitsinformationen
(z.B. kryptografische Werte) Bezug nehmen. Durch die Verwendung
vorausgehend ausgehandelter und vereinbarter Parameter aus einer
bestimmten Verbindung zwischen dem ersten Knoten und dem zweiten
Knoten kann eine voll ausgebildete ULP-Verbindungsverhandlung für jede nachfolgende
Verbindung vermieden werden. Vorausgehend ausgehandelte und vereinbarte
Parameter können
z.B. für
jeden ULP-Typ oder für
jeden Anwendungstyp zwischen dem ersten Knoten und dem zweiten Knoten
gespeichert werden.
-
1 zeigt
ein Zeitablaufdiagramm zur Veranschaulichung einer Ausführungsform
eines Verbindungsherstellungsvorgangs zwischen zwei Knoten gemäß der vorliegenden
Erfindung. Der Verbindungsvorgang ist in zwei Teilen veranschaulicht,
obgleich die vorliegende Erfindung auch einen Verbindungsvorgang
mit mehr oder weniger als zwei Teilen in Betracht zieht. In dem
ersten Teil stellt der Verbindungsvorgang einen Transmission Control
Protocol (TCP)-Verbindungsherstellungsvorgang zur Verfügung, und
in dem zweiten Teil stellt der Verbindungsvorgang einen Remote Device
Memory Access (RDMA)-Verhandlungsvorgang zur Verfügung. Obgleich sich
die Beschreibung der vorliegenden Erfindung auf diese zwei bestimmten
Vorgänge
bezieht, kann sie im Allgemeinen auch auf andere Vorgänge angewendet
werden. Daher können
beispielsweise auch andere LLP-Verbindungsherstellungsvorgänge verwendet
werden, obgleich sich die Beschreibung auf den TCP-Verbindungsherstellungsvorgang
bezieht. Ferner können
auch andere ULP- oder anwendungsspezifische Verhandlungsvorgänge verwendet
werden, obgleich die Beschreibung im Hinblick auf einen RDMA-Verhandlungsvorgang
gegeben wird. Darüber hinaus
zieht die vorliegende Erfindung auch in Betracht, dass Knoten 1 oder
Knoten 2 mehr als einen Typ von ULP-Verbindung zur Verfügung stellen
kann und an mehr als einem Typ von ULP-Verbindungsverhandlung teilnehmen
kann.
-
Gemäß einer
Ausführungsform
beginnt der TCP-Verbindungsherstellungsvorgang z.B. damit, dass
der Knoten 1 ein Synchronisations (SYN)-Paket 10 an
den Knoten 2 sendet. Im Ansprechen darauf sendet der Knoten 2 ein
Synchronisations/Bestätigungs
(SYN/ACK)-Paket 20 an den Knoten 1. Daraufhin
sendet der Knoten 1 ein ACK-Paket 30 an den Knoten 2.
Damit ist der TCP-Verbindungsherstellungsvorgang abgeschlossen,
und die TCP-Verbindung ist hergestellt.
-
Bei
dem RDMA-Verhandlungsvorgang tauschen Knoten 1 und Knoten 2 mehrfach
Informationspakete 40 aus. Während dieses Verhandlungsvorgangs
tauschen Knoten 1 und Knoten 2 Informationen beispielsweise über Fähigkeiten,
Ressourcen, Präferenzen
o. dgl. aus. Während
der Verhandlung wird eine Vereinbarung zwischen Knoten 1 und
Knoten 2 getroffen, bei der beispielsweise eine Auswahl von
Parametern (z.B. aus den möglichen
Fähigkeiten und
Ressourcen) im Hinblick auf bestimmte Präferenzen vereinbart wird. Damit
ist die RDMA-Verhandlung abgeschlossen.
-
Knoten
können
Mehrfachverbindungen aufweisen. Bei einem Beispiel können die
Knoten (z.B. Knoten 1 und Knoten 2) den Vorgang
für die TCP-Verbindungsherstellung
und die RDMA-Verhandlung gemäß der oben
stehenden Beschreibung duplizieren. Da jedoch mehrere Verbindungen
zwischen Knoten viele identische Verbindungsparameter aufweisen
können,
die durch den anfänglichen Verbindungsvorgang
bestimmt werden, kann die vorliegende Erfindung die Verwendung der
anfänglichen Verbindungsvorgangsparameter
in Betracht ziehen, um andere zusätzliche Verbindungen zu beschleunigen,
die gleichzeitig sein können
oder auch nicht.
-
Die
anfänglichen
Verbindungsvorgangsparameter sowie beispielsweise auch die Verbindungsparameter
nachfolgender Verbindungen können
sicher gespeichert und wieder aufgerufen werden, so dass die Verbindungen
gegen eine Fremdübernahme
("hijacking") immun sind. Beispielsweise
kann ein unbefugter Anwender nicht in der Lage sein, auf die anfänglichen
Verbindungsvorgangsparameter zuzugreifen, die verwendet worden sein
können,
um die n-te Verbindung zwischen den Knoten zu beschleunigen. Daher
kann der unbefugte Anwender nicht in der Lage sein, die n-te oder
irgendeine andere Verbindung zwischen den Knoten zu übernehmen.
-
Einige
Ausführungsformen
der vorliegenden Erfindung können
Widerstandsfähigkeit
gegen Angriffe wie etwa z.B. Dienstverweigerungs ("Denial of Service"; DoS)-Angriffe zur
Verfügung
stellen. Bei einem DoS-Angriff versucht ein Angreifer, möglichst viele
Ressourcen auf dem Zielsystem (d.h. dem angegriffenen System) zu
verbrauchen, um zu verhindern, dass das Zielsystem anderen Maschinen Dienstleistungen
zur Verfügung
stellt. Unter bestimmten Umständen
kann eine RDMA-Verbindung viel mehr Ressourcen als z.B. eine einfache TCP-Verbindung
erfordern, die auf teilnehmenden Maschinen zugewiesen werden müssen, wie
zum Beispiel dedizierte Datenstrukturen (z.B. dedizierte Speicherpuffer).
Der Angreifer kann versu chen, möglichst
viele Ressourcen zu binden, indem er die angegriffene Maschine durch
Täuschung
dazu bringt, Ressourcen zu einem frühen Zeitpunkt der Verhandlung
zuzuweisen. Der Angreifer kann versuchen, die angegriffene Maschine
zu veranlassen, Ressourcen vor dem Abschluss der Verhandlung zuzuweisen,
bevor die angegriffene Maschine die Credentials des Angreifers verifiziert
hat und/oder bevor der Angreifer seinerseits Ressourcen bereitstellen
muss.
-
Gemäß einer
Ausführungsform
können
für die
erste Verbindung zwischen zwei Maschinen keine RDMA-Ressourcen vor
dem Abschluss einer Dreiweg-TCP-Verbindungsverhandlung verbraucht
werden. Der Abschluss der Dreiweg-TCP-Verbindungsverhandlung kann
in die Zuständigkeit
von beiden Seiten fallen, wodurch die Server-Maschine zusammen mit
potenziellen, zusätzlichen
Credentials Sicherheit erlangt, bevor sie mehr Ressourcen für die Erstellung
der Verbindung mit RDMA bereit stellt. Für eine darauf folgende Verbindung
kann eine kürzere Verhandlung
stattfinden. In einem Fall, in dem ein Angreifer den Knoten 1 (z.B.
den Client) imitiert und von Knoten 2 (z.B. dem Server)
RDMA-Dienste erbittet, könnte
Knoten 2 fälschlicherweise
Vertrauen in die Verbindung setzen, da bereits andere Verbindungen zwischen
Knoten 1 und Knoten 2 existieren können und
Knoten 2 alle seine Credentials überprüft haben kann. Bei einer Ausführungsform
sollte Knoten 1 daher Credentials für Knoten 2 zur Verfügung stellen, bevor
Knoten 2 seinerseits Ressourcen für eine RDMA-Verbindung bereitstellt.
-
Bei
einem weiteren Beispiel speichert mindestens ein Knoten, nachdem
Knoten 1 und Knoten 2 die RDMA-Verhandlung für eine Verbindung
erfolgreich abgeschlossen haben, die vereinbarten Parameter aus
den RDMA-Verhandlungen in jeweiligen Speicherablagevorrichtungen,
auf die Knoten 1 oder Knoten 2 zugreifen kann
oder die Teil von Knoten 1 oder Knoten 2 sind.
Bei einer Ausführungsform
kann entweder Knoten 1 oder Knoten 2 als Client
oder Server oder als beides dienen. Bei einer Client/Server-Konfiguration
kann der Server seine Ressourcen sichern. Bei einer anderen Ausführungsform
können Knoten 1 und
Knoten 2 zwei gleichrangige Vorrichtungen (Peers) sein,
die versuchen, eine RDMA-Verbindung herzustellen. Jeder der Peers
kann entweder Knoten 1 oder Knoten 2 sein. 2 zeigt
ein Zeitablaufdiagramm, und 3 zeigt
ein Ablaufdiagramm zur Veranschaulichung einer Ausführungsform
eines Vorgangs, der in darauf folgenden Verbindungsvorgängen zwischen
Knoten 1 und Knoten 2 gemäß der vorliegenden Erfindung
verwendet wird.
-
Um
eine darauf folgende RDMA-Verbindung unter Verwendung einer verkürzten Verhandlungsphase
herzustellen, kann eine Ausführungsform
des Vorgangs befolgt werden, der in 3 veranschaulicht
ist. Der TCP-Verbindungsherstellungsvorgang beginnt in Schritt 70 damit,
dass Knoten 1 das SYN-Paket 10 an Knoten 2 sendet.
In Schritt 80 antwortet Knoten 2, indem er das
SYN/ACK-Paket 20 an Knoten 1 sendet. Im Ansprechen
darauf sendet Knoten 1 in Schritt 90 ein modifiziertes
ACK-Paket 50 an den Knoten 2. Damit ist der TCP-Verbindungsherstellungsvorgang
abgeschlossen, und die TCP-Verbindung ist hergestellt.
-
Der
RDMA-Verhandlungsvorgang umfasst auch das Senden des modifizierten
ACK-Paketes 50 von
Knoten 1 an Knoten 2. Da Knoten 1 und
Knoten 2 bereits einen RDMA-Verhandlungsvorgang durchlaufen
und die ausgehandelten und vereinbarten Parameter in einer Speicherablagevorrichtung
(z.B. in jeweiligen Speicherablagevorrichtungen) gespeichert haben,
kann Knoten 1 in Schritt 90 Speicherablagestelle-Informationen über das
modifizierte ACK-Paket 50 an Knoten 2 senden,
so dass Knoten 2 die vorausgehend ausgehandelten und vereinbarten
Parameter präsentieren
kann. Die Speicherablagestelle-Informationen können die Form eines Cookie
(z.B. einer kryptografisch geschützten
Speicheradresse) haben, das bei einem Beispiel zu dem ACK-Paket 30 hinzugefügt wird
oder in diesem enthalten ist, um das modifizierte ACK-Paket 50 zu
bilden. Bei einer Ausführungsform
kann eine Bezugnahme auf vorausgehend erstellte Credentials von Knoten 1 zusammen
mit der Speicherablagestelle zur Verfügung gestellt werden. Bei einer
Ausführungsform
kann sowohl Knoten 1 als auch Knoten 2 in Schritt 100 die
vorausgehend ausgehandelten und vereinbarten Parameter zurückgewinnen,
die in jeweiligen Speicherablagevorrichtungen gespeichert wurden.
Als Alternative kann ein Knoten die vorausgehend ausgehandelten
und vereinbarten Parameter zurückgewinnen
und die Informationen an den anderen Knoten weitergeben. Wenn sich
also sowohl Knoten 1 als auch Knoten 2 darauf
einigen, die vorausgehend gespeicherten, ausgehandelten und vereinbarten
Parameter zu verwenden, dann wird die RDMA-Verhandlung ohne die
zusätzliche
Hin- und Herbewegung der Informationspakete 40 in dem Verhandlungsvorgang
abgeschlossen, der in 1 veranschaulicht und vorausgehend
beschrieben ist. Damit ist der Verbindungsvorgang abgeschlossen.
Bei einer anderen Ausführungsform
kann Knoten 1 (z.B. ein Client) die Parameter kennen, bevor
er eine Verbindungsherstellung anfordert. Somit kann es nur Knoten 2 sein
(z.B. ein Server, der eine Mehrzahl von Clients bedienen kann),
der die angeforderten Parameter für die Verbindung aufrufen muss
und dadurch den Verbindungsvorgang abschließt. Bei wieder einer anderen
Ausführungsform
kann Knoten 1 die Parameter kennen, bevor er eine Verbindungsherstellung
anfordert. Knoten 1 kann daraufhin die Parameter oder Angaben über die
Parameter an Knoten 2 senden, womit der Verbindungsvorgang
abgeschlossen ist. Wenn sich aber entweder Knoten 1 und
Knoten 2 dafür
entscheidet, die vorausgehend gespeicherten, ausgehandelten Parameter
nicht zu akzeptieren, dann kann der typische Verhandlungsvorgang,
der in 1 veranschaulicht und oben beschrieben ist, verwendet
werden, um die RDMA-Verhandlung abzuschließen. Falls sich bei einer anderen Ausführungsform
entweder Knoten 1 oder Knoten 2 dafür entscheidet,
die vorausgehend gespeicherten, ausgehandelten Parameter nicht zu
akzeptieren, dann können
die zurückgewonnenen
Parameter einen Ausgangspunkt zur Verfügung stellen, von dem aus der
Verhandlungsvorgang beginnen kann.
-
Um
eine darauf folgende RDMA-Verbindung unter Verwendung einer verkürzten Verhandlungsphase
herzustellen, kann eine andere Ausführungsform des in 4 veranschaulichten
Vorgangs befolgt werden. Der TCP-Verbindungsherstellungsvorgang
beginnt in Schritt 120 damit, dass Knoten 1 das SYN-Paket 10 an
den Knoten 2 sendet. In Schritt 130 antwortet
Knoten 2, indem er das SYN/ACK-Paket 20 an Knoten 1 sendet.
Im Ansprechen darauf sendet Knoten 1 in Schritt 140 ein
ACK-Paket 50 an
Knoten 2. Damit ist der TCP-Verbindungsherstellungsvorgang
abgeschlossen, und die TCP-Verbindung ist hergestellt.
-
In
Schritt 150 sendet Knoten 1 eine verkürzte Version
der ULP- oder RDMA-Verhandlung. Da Knoten 1 und Knoten 2 beispielsweise
bereits einen RDMA-Verhandlungsvorgang durchlaufen haben und die
ausgehandelten und vereinbarten Parameter in einer Speicherablagevorrichtung
(z.B. in jeweiligen Speicherablagevorrichtungen) gespeichert haben, kann
Knoten 1 in Schritt 150 Speicherablagestelle-Informationen über ein
zusätzliches
Paket an Knoten 2 senden, so dass Knoten 2 die
vorausgehend ausgehandelten und vereinbarten Parameter präsentieren kann.
Die Speicherablagestelle-Informationen können die Form eines Cookie
(z.B. einer kryptografisch geschützten
Speicheradresse) haben, das bei einem Beispiel zu dem neuen Paket
hinzugefügt
wird oder in diesem enthalten ist. Bei einer Ausführungsform kann
eine Bezugnahme auf vorausgehend hergestellte Credentials von Knoten 1 zusammen
mit der Speicherablagestelle zur Verfügung gestellt werden. Bei einer
Ausführungsform
kann sowohl Knoten 1 als auch Knoten 2 in Schritt 160 die
vorausgehend ausgehandelten und vereinbarten Parameter zurückgewinnen,
die in jeweiligen Speicherablagevorrichtungen gespeichert wurden.
Als Alternative kann ein Knoten die vorausge hend ausgehandelten
und vereinbarten Parameter zurückgewinnen
und die Informationen an den anderen Knoten weitergeben. Wenn sich
also sowohl Knoten 1 als auch Knoten 2 darauf
einigen, die vorausgehend gespeicherten, ausgehandelten und vereinbarten
Parameter zu verwenden, dann wird die RDMA-Verhandlung ohne die zusätzliche
Hin- und Herbewegung der Informationspakete 40 in dem Verhandlungsvorgang
abgeschlossen, der in 1 veranschaulicht und vorausgehend beschrieben
ist. Damit ist der Verbindungsvorgang abgeschlossen. Bei einer anderen
Ausführungsform kann
Knoten 1 (z.B. ein Client) die Parameter kennen, bevor
er eine Verbindungsherstellung anfordert. Somit kann es nur Knoten 2 sein
(z.B. ein Server, der eine Mehrzahl von Clients bedienen kann),
der die angeforderten Parameter für die Verbindung aufrufen muss
und dadurch den Verbindungsvorgang abschließt. Bei wieder einer anderen
Ausführungsform kann
Knoten 1 die Parameter kennen, bevor er eine Verbindungsherstellung
anfordert. Knoten 1 kann daraufhin die Parameter oder Angaben über die
Parameter an Knoten 2 senden, womit der Verbindungsvorgang
abgeschlossen ist. Wenn sich aber entweder Knoten 1 oder
Knoten 2 dafür
entscheidet, die vorausgehend gespeicherten, ausgehandelten Parameter
nicht zu akzeptieren, dann kann der typische Verhandlungsvorgang,
der in 1 veranschaulicht und oben beschrieben ist, verwendet
werden, um die RDMA-Verhandlung abzuschließen. Falls sich bei einer anderen
Ausführungsform
entweder Knoten 1 oder Knoten 2 dafür entscheidet,
die vorausgehend gespeicherten, ausgehandelten Parameter nicht zu akzeptieren,
dann können
die zurückgewonnenen Parameter
einen Ausgangspunkt zur Verfügung
stellen, von dem aus der Verhandlungsvorgang beginnen kann.
-
Einige
Ausführungsformen
gemäß der vorliegenden
Erfindung können
Maschinen zur Verfügung stellen,
die eine Mehrzahl von verschiedenen Typen von Diensten (z.B. RDMA,
iSCSI over RDMA, HTTP usw.) bieten. Daher sollten zwischen zwei
bestimmten Maschinen die Informationen, die sich auf Parameter für bestimmte
Dienste beziehen, welche vorausgehend zwischen den zwei bestimmten
Maschinen ausgehandelt und vereinbart wurden, gespeichert werden.
Falls die beiden Maschinen beispielsweise vorausgehende Verbindungen über RDMA und
iSCSI hergestellt haben, sollten die Informationen in Bezug auf
die vorausgehend ausgehandelten und vereinbarten Parameter zwischen
den beiden Maschinen für
die RDMA-Verbindung und die iSCSI-Verbindung gespeichert werden.
Daher sollte ein Teil der Informationen, die während einer LLP-Verbindungsherstellung
(z.B. einer TLP-Verbindungsherstellung) übertragen werden, während darauf
folgender Versuche zur Herstellung einer RDMA-Verbindung oder einer
iSCSI Verbindung angeben, welcher Verbindungstyp gewünscht wird.
Die Informationen können
z.B. einen Bestimmungsanschluss und/oder Credentials (z.B. bestimmte
ULP-Credentials) umfassen.
-
Obgleich
die vorliegende Erfindung unter Bezugnahme auf bestimmte Ausführungsformen
beschrieben wurde, dürfte
es für
den Fachmann verständlich
sein, dass verschiedene Änderungen
daran vorgenommen werden können
und dass Äquivalente ersetzt
werden können,
ohne den Schutzbereich der vorliegenden Erfindung zu verlassen.
Zusätzlich
können
viele Modifikationen vorgenommen werden, um eine bestimmte Situation
oder ein bestimmtes Material an die Lehren der vorliegenden Erfindung
anzupassen, ohne deren Schutzbereich zu verlassen. Es ist daher
beabsichtigt, dass die vorliegende Erfindung nicht auf die konkreten,
offen gelegten Ausführungsform
beschränkt
werden soll, sondern dass die vorliegende Erfindung alle Ausführungsformen
mit umfasst, die in den Schutzbereich der beigefügten Ansprüche fallen.