-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und System
zum Übertragen
von Datenpaketen über
ein Netzwerk an ausgewählte
mehrere Bestimmungsorte sowie auf ein computerlesbares Medium.
-
Bestehende
IP-Multicast-Technologie (IP-Sammelsendungs-Technologie) arbeitet so, daß die Sendesysteme
ein Datenpaket zu einer eindeutigen Multicast-Adresse (Gruppenadresse)
adressieren, das dann durch die Netzwerkinfrastruktur zu jedem der
entfernten Bestimmungsorte geleitet wird, der einen Wunsch ausgedrückt hat,
das Datenpaket zu empfangen. Als solche sind die Bestimmungsorte für die IP-Multicast-Datenpakete dem Sender
unbekannt. Dieses Modell der Adressierung ist nützlich für die vorherrschendste Verwendung
des aktuellen IP-Multicast-Schemas, Streaming Multimedia.
-
Bei
bestehenden IP-Multicast-Protokollen sendet der Sender ein Datenpaket
zu einer einzigen virtuellen Multicast-Adresse, wo die tatsächlichen Empfänger durch
einen Teilnehmerprozeß bestimmt werden,
der durch ein Netzwerk von Schaltern und Routern verwaltet wird.
Im Stand der Technik gibt es zwei Alternativen zum Erreichen von
Multicast-Datenübertragung über ein
IP-Netzwerk: (1) Senden mehrerer einzeln adressierter Pakete,
eines an jeden der entfernten Bestimmungsorte; und (2)
Einrichten einer Multicast-Gruppe in dem Netzwerkschalter, Senden
des Multicast-Pakets und anschließend Löschen der Multicast-Gruppe.
Die erste Alternative führt
zu einer wesentlichen Belastung auf dem sendenden System und auf
der Netzwerkinfrastruktur, die mit demselben verbunden ist. Die
zweite Alternative führt
zu einer erhöhten
Belastung auf den Netzwerkschaltern. Es besteht ein Bedarf nach
einem verbesserten Verfahren zum Senden von Multicast-Datenpaketen.
-
Aus
der
EP 1 059 764 A2 ist
bereits ein Verteilungssystem für
Vielfachübertragungs-Datenpakete
bekannt, bei dem jedes über
ein Netzwerk zu übertragendes
Datenpaket einen Kopfteil aufweist, der eine Zieladresse für das Datenpaket
enthält.
Wenn bei diesem Vielfachübertragungssystem
eine Verzweigung festgestellt wird, erfolgt ein Tabellenzugriff für sämtliche
Bestimmungsorte. Diese durch den Tabellenzugriff durchgeführte Recherche
erfolgt zu dem Zeitpunkt der Verteilung der Vielfachübertragungs-Datenpakete.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und ein
System zum Übertragen von
Datenpaketen über
ein Netzwerk und ein computerlesbares Medium zum Übertragen
von Datenpaketen mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein System gemäß Anspruch
6 und ein Medium gemäß Anspruch
12 gelöst.
-
Die
vorliegende Erfindung verwendet ein verbessertes Adressierungsmodell
für IP-Multicast-Protokolle.
Was in einer Hinsicht beschrieben ist, ist ein Verfahren zum Übertragen
von Datenpaketen über
ein Netzwerk an ausgewählte
mehrere entfernte Bestimmungsorte, wobei sich die Datenpakete nicht
mehr als einmal über
irgendein Segment des Netzwerks bewegen müssen und es nicht erforderlich
ist, daß die
ausgewählten
mehreren entfernten Bestimmungsorte die Sendung der Datenpakete durch
einen Teilnehmerdienst auslösen.
Das Verfahren umfaßt
die folgenden Schritte: Einbetten einer Liste von mehreren entfernten
Bestimmungsortadressen in einem Datenpaket, die jedem der ausgewählten mehreren
entfernten Bestimmungsorte entsprechen; Liefern eines Adressierungsprotokolls, durch
das die Netzwerkelemente in der Lage sind, auf die Liste der mehreren
entfernten Bestimmungsortadressen zuzugreifen; und Anweisen der
Netzwerkelemente, eine Kopie des Datenpakets an jeden der ausgewählten mehreren
entfernten Bestimmungsorte zu senden, die jeder der Adressen in
der Liste von mehreren entfernten Bestimmungsortadressen entsprechen.
-
Was
in einer anderen Hinsicht beschrieben ist, ist ein System zum Übertragen
von Datenpaketen über
ein Netzwerk an ausgewählte
mehrere entfernte Bestimmungsorte, wobei sich die Datenpakete nicht mehr
als einmal über
irgendein Segment des Netzwerks bewegen müssen, und es nicht erforderlich
ist, daß die
ausgewählten
mehreren entfernten Bestimmungsorte die Sendung der Datenpakete
durch einen Teilneh merdienst auslösen. Das System umfaßt: einen
direkt adressierten Multicast-Protokoll-Klienten (DAMP client; DAMP
= directly addressed multicast protocol); eine Netzwerkinfrastruktur;
mehrere Netzwerkgeräte,
die entfernt von dem DAMP-Klienten und der Netzwerkinfrastruktur
positioniert sind; und Datenpakete zum Tragen von Daten zwischen
dem DAMP-Klienten und den mehreren Netzwerkgeräten.
-
Was
noch in einer anderen Hinsicht beschrieben ist, ist ein computerlesbares
Medium, in dem ein Programm eingebettet ist. Das eingebettete Programm
umfaßt
Befehle zum Ausführen
des obigen Verfahrens.
-
Ein
Fachmann auf diesem Gebiet wird diese und andere Vorteile und Nutzen
der verschiedenen Ausführungsbeispiele
der Erfindung beim Lesen der folgenden detaillierten Beschreibung
eines Ausführungsbeispiels
mit Bezugnahme auf die nachfolgend aufgeführten Zeichnungen erkennen.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm eines Systems zum Senden von Multicast-Datenpaketen über ein Netzwerk
gemäß dem Stand
der Technik;
-
2 ein
Blockdiagramm eines Ausführungsbeispiels
eines Systems zum Senden von Datenpaketen über ein Netzwerk an ausgewählte mehrere
entfernte Bestimmungsorte gemäß der vorliegenden
Erfindung;
-
3 ein
Blockdiagramm eines weiteren Ausführungsbeispiels eines Systems
zum Übertragen
von Datenpaketen über
ein Netzwerk an ausgewählte
mehrere entfernte Bestimmungsorte gemäß der vorliegenden Erfindung;
-
4 ein
Flußdiagramm
eines Ausführungsbeispiels
eines Verfahrens zum Übertragen
von Datenpaketen über
ein Netzwerk an ausgewählte
mehrere entfernte Bestimmungsorte;
-
5 ein
Diagramm eines Ausführungsbeispiels
der Struktur eines direkt adressierten Multicast-Protokolldatenpakets gemäß der vorliegenden Erfindung;
-
6 ein
Diagramm eines Ausführungsbeispiels
der Struktur eines IP-Optionsfeldes in einem direkt adressierten
Multicast-Protokolldatenpaket gemäß der vorliegenden Erfindung;
-
7 ein
Diagramm, das einen Weg eines Ausführungsbeispiels eines direkt
adressierten Multicast-Protokolldatenpakets
durch das Internet zu mehreren Bestimmungsorte darstellt; und
-
8 ein
Diagramm, das einen weiteren Weg eines Ausführungsbeispiels eines direkt
adressierten Multicast-Protokolldatenpakets durch das Internet zu
mehreren Bestimmungsorten darstellt.
-
Die
vorliegende Erfindung bezieht sich auf ein neues IP-Multicast-Protokoll,
das hierin nachfolgend als direkt adressiertes Multicast-Protokoll (DAMP
= Directly Addressed Multicast Protocol) bezeichnet wird. Bei einem
DAMP-System spezifiziert ein Sendeklient direkt für jedes
Datenpaket, das gesendet wird, eine Liste von entfernten Bestimmungsorten.
Der Begriff DAMP wird nur als Bezeichnung verwendet und andere Begriffe
können
das gleiche oder ähnliche
Protokolle definieren.
-
Unter
Verwendung von DAMP setzt ein Netzwerk von Schaltern und Routern
das Neusenden der Datenpakete über
nur die Netzwerksegmente fort, die eine Route zu zumindest einer der
spezifizierten entfernten Bestimmungsortadresse enthalten. Dieses
Verfahren erzeugt somit keinen unnötigen Verkehr auf jedem Netzwerksegment.
Diese Form von Multicast vereinfacht außerdem den Multicast-Prozeß enorm
durch Entfernen des Bedarfs nach Multicast-Gruppenverwaltungsprotokollen zum Verwalten der
Bestimmungsortlisten in der Netzwerkinfrastruktur. Die Liste von
entfernten Bestimmungsorten ist in jedem Datenpaket eingebettet,
und ist nicht ständig in
der Netzwerkinfrastruktur.
-
1 ist
ein Blockdiagramm eines Systems 100 zum Senden von Multicast-Datenpaketen über ein
Netzwerk gemäß dem Stand
der Technik. Im Stand der Technik, der IP-Multicast-Protokolle abdeckt,
umfaßt
das System 100 zumindest einen IP-Multicast-Sendeklient 110,
der mit einer Netzwerkinfrastruktur 115 verbunden ist und
mit derselben kommuniziert. Der IP-Sendeklient 110 sendet
IP-Multicast-Datenpakete zu der Netzwerkinfrastruktur 115. In
der Netzwerkinfrastruktur 115 ist zumindest ein IP-Multicast-Teilnehmerverwalter 120 ferner
mit einer Anzahl von Netzwerkgeräten 140 verbunden
und kommuniziert mit denselben. Der IP-Multicast-Teilnehmerverwalter 120 empfängt Anforderungen
von den Netzwerkgeräten 140,
um an Multicast-Datenübertragungen
von dem IP-Multicast-Sendeklient 110 teilzunehmen. Wenn
der IP-Multicast-Sendeklient 110 IP-Multicast-Datenpakete
zu der Netzwerkinfrastruktur 115 sendet, bestimmt der IP-Multicast-Teilnehmerverwalter 120,
welche der Netzwerkgeräte 140 sich
für diese
spezielle Datenpakete angemeldet haben. Neben dem IP-Multicast-Teilnehmerverwalter 120 befinden
sich eine Anzahl von Netzwerkschaltern und Routern 130 in
der Netzwerkinfrastruktur 150. Auf eine Bestimmung hin,
welche Netzwerkgeräte 140 für die Datenpakete
angemeldet sind, die von dem IP-Multicast-Sendeklient übertragen
werden, leiten die Netzwerkschalter und -router 130 Kopien
der Datenpakete zu jedem der Netzwerkgeräte 140 weiter, das
für die
Datenpakete angemeldet ist, und erwarten Empfangsbestätigungen
von den Netzwerkgeräten 140.
Die Netzwerkinfrastruktur 115 kann Datenpakete neu senden,
bis alle Datenpa kete von allen Netzwerkgeräten 140 als empfangen
bestätigt sind.
Als Folge dieses Multicast-Schemas können sich die Datenpakete häufig über jedes
bestimmte Netzwerksegment bewegen, wodurch die Belastung auf der
Netzwerkbandbreite multipliziert wird.
-
2 ist
ein Blockdiagramm eines Ausführungsbeispiels
eines Systems 200 gemäß der vorliegenden
Erfindung zum Übertragen
von Datenpaketen über
ein Netzwerk an ausgewählte
mehrere entfernte Bestimmungsorte. Das System 200 der vorliegenden
Erfindung umfaßt
einen DAMP Sendeklienten 210, der mit einem oder mehreren
Netzwerkelementen 220 verbunden ist. Der DAMP-Sendeklient 210 überträgt DAMP-Datenpakete
zu den Netzwerkelementen 220. Ein Netzwerkelement 220 kann
ein Netzwerkschalter oder -router sein und ist ein Teil der Gesamtnetzwerkinfrastruktur 115,
wie sie für 1 beschrieben
ist. Anders als bestehende Multicast-Systeme 100 erfordert
die vorliegende Erfindung jedoch nicht, daß ein IP-Multicast-Teilnehmerverwalter 120 Anforderungen
für Teilnahmen
an Multicast-Datenübertragungen
verwaltet, und Listen von anfordernden Netzwerkgeräten 140 verwaltet.
Das System 200 eines Ausführungsbeispiels der vorliegenden
Erfindung umfaßt
eine Anzahl von entfernten Netzwerkgeräten 240. Bei der vorliegenden
Erfindung ist eine Liste von ausgewählten entfernten Netzwerkgeräten 240,
die DAMP-Multicast-Übertragung
empfangen sollen, in die DAMP-Datenpakete selbst
eingebettet. Die Netzwerkelemente 220 leiten die DAMP-Datenpakete
weiter zu den ausgewählten entfernten
Netzwerkgeräten 240,
die in der Liste bestimmt sind, die in den DAMP-Datenpaketen eingebettet
ist. Bei dem System 200 ist es nicht notwendig, daß sich die
DAMP-Datenpakete
mehr als einmal über
jedes bestimmte Netzwerksegment bewegen, und somit wird die Belastung
auf der Bandbreite des Netzwerks reduziert.
-
3 ist
ein Blockdiagramm eines weiteren Ausführungsbeispiels eines Systems 300 zum Übertragen
von Datenpaketen über
ein Netzwerk an ausgewählte
mehrere entfernte Bestim mungsorte gemäß der vorliegenden Erfindung.
Das System 300 stellt die Verwendung der vorliegenden Erfindung
bei einer Netzwerkspeicherungsanwendung dar. Das System 300 umfaßt einen
DAMP-Sendeklient 310, der mit einem oder mehreren Netzwerkelementen 320 verbunden
ist. Der DAMP-Sendeklient 310 überträgt DAMP-Datenpakete an die
Netzwerkelemente 320. Wie bei den Netzwerkelementen 220 des
Systems 200 können
die Netzwerkelemente 320 Netzwerkschalter, -router oder
andere Netzwerkinfrastrukturelemente umfassen. Die Netzwerkelemente 320 sind
mit einer Anzahl von entfernten Netzwerkspeichergeräten verbunden.
Wie bei dem Ausführungsbeispiel,
das in 2 beschrieben ist, ist bei dem System 300 eine
Liste von ausgewählten
entfernten Netzwerkspeichergeräten 340,
die die DAMP-Multicast-Übertragung
empfangen sollen, in den DAMP-Datenpaketen eingebettet. Die Netzwerkelemente 320 leiten
die DAMP-Datenpakete weiter zu den ausgewählten entfernten Netzwerkspeichergeräten 340,
die in der Liste bestimmt sind, die in den DAMP-Datenpaketen eingebettet
ist.
-
4 ist
ein Flußdiagramm
eines Ausführungsbeispiels
eines Verfahrens 400 zum Übertragen von Datenpaketen über ein
Netzwerk an ausgewählte
mehrere entfernte Bestimmungsorte. Das Verfahren 400 umfaßt folgende
Schritte: Einbetten einer Liste von entfernten Bestimmungsortadressen
in Datenpakete (Schritt 420); Aktivieren von Netzwerkelementen
zum Zugreifen auf die Liste von entfernten Bestimmungsadressen (Schritt 430);
und Anweisen von Netzwerkelementen, Kopien der Datenpakete an jede
Adresse auf der Liste von entfernten Bestimmungsadressen zu übertragen
(Schritt 440).
-
Bei
einem Ausführungsbeispiel
des Verfahrens 400 umfaßt der Einbettungsschritt 420 folgende zusätzliche
Schritte: Einstellen eines IP-Optionsfeldes in dem IP-Anfangsblockabschnitt
eines DAMP-Datenpakets; Einstellen eines Code-Bytes in dem IP-Optionsfeld
auf einen spezifischen Wert, um anzuzeigen, daß das Datenpaket ein DAMP-Datenpaket ist; Einstellen
eines Längen-Bytes
auf einen be stimmbaren Wert, um die Länge des IP-Optionsfeldes in
32-Bit-Wörtern anzuzeigen;
Einbetten der Werte einer bestimmbaren Anzahl von IP-Adressen für die mehreren
entfernten Bestimmungsorte für
das DAMP-Datenpaket in aufeinanderfolgenden 32-Bit-Wörtern; und
Einstellen der Quell-IP-Adresse in dem Anfangsblockabschnitt des
DAMP-Datenpakets auf die IP-Adresse des DAMP-Sendeklients 210;
und Einstellen der Bestimmungsort-IP-Adresse in dem IP-Anfangsblockabschnitt
des DAMP-Datenpakets auf die IP-Adresse von einem der mehreren entfernten
Bestimmungsorte, die in dem IP-Optionsfeld eingebettet sind. Bei
diesem Ausführungsbeispiel
des Verfahrens 400 umfaßt der Kopierschritt 440 ferner
folgende Schritte: Empfangen einer Kopie des DAMP-Datenpakets von
dem DAMP-Sendeklient 210 oder von einem anderen Netzwerkelement 220 durch
das Netzwerkelement 220; Einstellen der IP-Adressen auf
Null, die in dem IP-Optionsfeld eingebettet sind und nicht direkt
unterhalb des Netzwerkelements 220 zugreifbar sind, durch
das Netzwerkelement 220; Einstellen der Bestimmungsort-IP-Adresse
in dem IP-Anfangsblockabschnitt
des DAMP-Datenpakets auf die IP-Adresse
von einer der nicht auf Null gestellten mehreren entfernten Bestimmungsorte,
die in dem IP-Optionsfeld eingebettet sind, durch das Netzwerkelement 220;
und Leiten einer Kopie des modifizierten DAMP-Datenpakets zu jedem
zusätzlichen
Netzwerkelement 220 oder Netzwerkgerät 240, für das es
eine entsprechende, nicht auf Null gesetzte IP-Adresse gibt, die in der eingebetteten
Liste von mehreren entfernten Bestimmungsort-IP-Adressen aufgeführt ist,
durch das Netzwerkelement 220.
-
5 ist
ein Diagramm der Struktur 500 eines Ausführungsbeispiels
eines DAMP-Datenpakets 510 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung. Die Datenpaketstruktur 500 umfaßt einen
Datenpaketanfangsblockabschnitt 515 und ein Datenpaketdatenabschnitt 525.
-
Der
Datenpaketanfangsblockabschnitt 515 enthält mehrere
Felder, von denen eines ein variables Längenfeld ist, das bestimmte
IP-Optionsinformationen enthält,
ein IP-Optionsfeld 520. 6 ist
ein Diagram eines Ausführungsbeispiels
der Struktur eines IP-Optionsfelds 520 in einem direkt
adressierten Multicast-Protokolldatenpakets 510 gemäß der vorliegenden
Erfindung. Das variable Länge-IP-Optionsfeld 520 umfaßt eine
Sequenz von Elementen, von denen jedes mit einem Code-Byte 610 beginnt,
das aus den folgenden Bits besteht, wobei das Bit 0 als höchstwertiges
Bit („MSB" = Most Significant
Bit) angesehen wird:
Bit 0 – Kopierbit –, das definiert,
ob das IP-Optionsfeld 520 in
jedes Netzwerkfragment kopiert werden sollte, falls das Datenpaket über mehrere
Netzwerkrahmen fragmentiert oder aufgeteilt ist. Ein Wert von 0
zeigt an, daß das
IP-Optionsfeld 520 nur in den ersten Rahmen kopiert werden
sollte, während
ein Wert von 1 anzeigt, daß das
IP-Optionsfeld 520 in jeden Rahmen kopiert werden sollte;
Bits
1 bis 2 – Optionsklasse – die einen
Satz von IP-Klassenwerten
definiert;
Bit 3 bis 7 – Optionszahl – diese
Bits identifizieren die spezifische IP-Option für dieses Datenpaket, wobei jede
der verfügbaren
IP-Optionen einer eindeutigen Optionszahl zugeordnet ist.
-
Ein
IP-Datenpaket 510 kann mit DAMP codiert werden, unter Verwendung
eines IP-Options-Code-Bytes 610, das bei einem Ausführungsbeispiel
auf einen Wert von 138 eingestellt sein kann. Andere Werte für das IP-Options-Code-Byte 610 sind ebenfalls
möglich.
Ein Code-Byte-Wert von 138 entspricht dem Einstellen des Kopierbits
auf 1, der Optionsklasse auf 0 und der Optionsanzahl auf 10, wobei 10
einer der derzeit nicht verwendeten Werte für IP-Optionszahlen ist. Die
Optionszahl kann alternativ jeder derzeit nicht verwendete IP-Optionswert sein.
-
Nach
dem Code-Byte 610 bei dem Codieren des DAMP-Datenpaket-IP-Optionsfelds 520 kann
die Struktur eines DAMP-Datenpaketanfangsblockabschnitts 510 einer
Struktur folgen, die ähnlich
ist wie der bestehenden Strict-Route-IP-Option, die derzeit der IP-Optionszahl 137 zugewiesen
ist. Siehe hierzu Comer, Douglas E., Internetworking with TCP/IP
- Principles, Protocols, and Architecture, 4. Ausgabe., Bd. 1, Prentiss
Hall, Februar 2000, S. 97–114.
-
Das
IP-Optionsfeld 520 ist in mehrere 32-Bit-Wörter unterteilt,
wie es in 6 gezeigt ist. Das erste Wort
des IP-Optionsfeldes 520 enthält das 8-Bit
(1 Byte) Code-Byte 610, das für DAMP-Datenpakete auf einen
Wert von 138 gesetzt ist, und das Längen-Byte 615, das
einen Wert enthält,
der die Anzahl von Bytes in dem IP-Optionsfeld 520 spezifiziert (einschließlich der
Code- und Längen-Bytes 610 und 615).
Diesem Wort folgen mehrere IP-Adreßfelder 620, die jeweils
4-Byte-IP-Adressen für
jeden der beabsichtigten Empfänger
des DAMP-Datenpakets 510, die entfernten Netzwerkgeräte 240,
enthält.
Es kann so viele IP-Adreßfelder 620 geben,
wie es durch den Wert erlaubt ist, der in dem Längen-Byte 615 spezifiziert
ist. Falls beispielsweise das Längen-Byte 615 anzeigt,
daß das
IP-Optionsfeld 520 32 Bytes umfaßt, dann enthält das IP-Optionsfeld 520 sieben 32-Bit
(4-Byte) IP-Adreßfelder 620,
zusätzlich
zu dem ersten Wort, das das Code-Byte 610 und das Längen-Byte 615 enthält. Der
Datenpaketanfangsblockabschnitt 515 kann außerdem zwei
andere Felder von Interesse umfassen: ein Quell-IP-Adreßfeld 522,
das die IP-Adresse des DAMP-Sendeklients 210 spezifiziert,
und ein Bestimmungsort IP-Adreßfeld 524,
das die IP-Adresse von einem der entfernten Netzwerkgeräte 240 spezifiziert.
Bei einem alternativen Ausführungsbeispiel
können
die IP-Adreßfelder 620,
das Quell-IP-Adreßfeld 522 und
das Bestimmungsort-IP-Adreßfeld 524 jeweils
Mehrbyte-IP-Adressen von einem Typ umfassen, der sich von 4-Byte-Adressen
unterscheidet.
-
Der
Datenpaketdatenabschnitt 525 ist nach einem Benutzerdatagrammprotokoll-
(„UDP" = User Datagram
Protocol) IP-Datenpaketcodierschema
codiert. Als ein verbindungsloses Protokoll, das wie TCP auf IP
geschichtet ist, garantiert UDP weder die Sendung noch erfordert
es eine Verbindung. Folglich ist es leicht und effizient, aber alle
Fehlerverarbeitung und erneute Sendung muß durch das Anwendungsprogramm übernommen
werden. Siehe Postel, Jon, User Datagram Protocol, RFC 768,
Network Information Center, SRI International, Menlo Park, Kalifornien,
August 1980.
-
7 zeigt
einen beispielhaften Weg eines Ausführungsbeispiels eines DAMP-codierten
Datenpakets 711 über
das Internet an mehrere entfernte Bestimmungsortnetzwerkgeräte 240.
Wenn ein DAMP-Sendeklient 210 ein DAMP-Datenpaket 711 sendet,
setzt derselbe die Quell-IP-Adresse 522, die in dem Datenpaketanfangsblockabschnitt 525 enthalten
ist, auf die IP-Adresse des DAMP-Sendeklients 210 selbst,
und die Bestimmungsort-IP-Adresse 524 auf jede der IP-Adressen
der entfernten Netzwerkgeräte 240,
die das Datenpakets empfangen sollen. Der DAMP-Sendeklient 210 codiert
ferner das Datenpaket 711 mit einem IP-Optionsfeld 520,
das den Wert für
die DAMP-IP-Option enthält,
wie es oben beschrieben ist, und das eine Liste von jedem der gewünschten
entfernten Bestimmungsortnetzwerkgeräte-IP-Adressen enthält. Der
Datenpaketdatenabschnitt 525 oder UDP-codierte Datenabschnitt des
Datenpakets bleibt somit unverändert
von dem eines Standard-UDP-Datenpakets, das unter bestehenden IP-Übertragungsprotokollen an jeden
einzelnen Empfänger
gesendet werden kann.
-
Wenn
ein Router (oder Netzwerkschalter) 715 ein DAMP-Datenpaket 711 empfängt, das
ein Router oder Schalter von der DAMP-IP-Option erkennen kann, die
in das Datenpaket 711 codiert ist, ignoriert derselbe die
Bestimmungsort-IP-Adresse 524 und
untersucht statt dessen die Liste von IP-Adressen, die in dem DAMP-IP-Optionsfeld 520 enthalten
sind. Der Router 715 sendet dann eine Kopie an jede Netz werkschnittstelle 720 und 730,
die zumindest einen Empfänger
enthält,
wie es in der Adreßliste
in dem IP-Optionsfeld 520 spezifiziert ist. Bevor die Datenpakete 721 und 731 zu
einer Netzwerkschnittstelle weitergeleitet werden, wie z. B. den gezeigten
Netzwerkschnittstellen 720 und 730, wird jedoch
jede IP-Adresse in der IP-Optionsfeld 520-Liste, die die
Kopie des Datenpakets schließlich
nicht empfangen soll, d. h. die nicht auf einem Zweig dieser spezifischer
Netzwerkschnittstelle gefunden wird, auf Null gesetzt. Dies verhindert
die Erzeugung einer unendlichen Anzahl von Datenpaketen, die durch zwei
miteinander verbundene Router oder Schalter gesendet werden, die
Hosts adressieren, die über mehr
als eine Netzwerkschnittstelle existieren. Ferner setzt der Schalter
oder Router 715 die Bestimmungsort-IP-Adresse 524 in dem IP-Anfangsblockabschnitt 515 auf
einen der Nicht-Null-Einträge,
die in der Empfängerliste
verbleiben (und die entsprechende Rahmenanfangsblockbestimmungsort-Hardwareadresse).
Wenn ein DAMP-Datenpaket 721 oder 731 mit auf
Null gesetzter Adresse darin empfangen wird, werden die auf Null
gesetzten Adressen ignoriert. Einträge werden eher auf Null gesetzt
als entfernt, damit der Router oder Schalter das Datenpaket nicht
umformatieren muß.
-
8 ist
ein Diagramm, das zeigt, wie ein Netzwerk von DAMP-aktivierten Routern
und Schaltern ein DAMP-Datenpaket durch mehrere Zweige des Netzwerks
leiten würde.
Beispielhafte Werte für die
relevanten Felder, die in jeder aufeinanderfolgenden Kopie des DAMP-Datenpakets
eingebettet sind, sind gezeigt, während dieselbe über jedes
Netzwerksegment verläuft.
Diese Figur zeigt, wie ein Netzwerkelement 220, wie z.
B. ein Router oder ein IP-Schalter (815, 825, 835, 837),
bei einem Ausführungsbeispiel
der Erfindung auf das Empfangen einer Kopie des DAMP-Datenpakets 510 (811, 821, 831, 832)
hin von dem DAMP-Sendeklient 210 oder von einem anderen
Netzwerkelement (815, 825, 835, 837)
dann eine Kopie des empfangenen DAMP-Datenpakets (811, 821, 831, 832)
verarbeitet, durch Nullen der IP-Adressen, die in dem IP-Optionsfeld 520 eingebettet
sind, die nicht direkt unter dem Netzwerkelement (815, 825, 835, 837)
zugreifbar sind; Einstellen der Bestimmungsort-IP-Adresse 524 in
dem IP-Anfangsblockabschnitt 525 der
Kopie des DAMP-Datenpakets (821, 822, 831, 832, 841, 842, 843)
auf die IP-Adresse von einem der nicht auf Null gesetzten entfernten
Bestimmungsortnetzwerkgeräte
(851, 852, 853, 854), die in
dem IP-Optionsfeld 520 eingebettet
sind; und Leiten der modifizierten Kopie des DAMP-Datenpakets (821, 822, 831, 832, 841, 842, 843)
an jedes zusätzliche
Netzwerkelement (825, 835, 837) oder
Netzwerkgerät
(851, 852, 853, 854), für das es
eine entsprechende nicht auf Null gesetzte IP-Adresse gibt, die
in der eingebetteten Liste von mehreren entfernten Bestimmungsort-IP-Adressen aufgeführt ist.
-
Wenn
ein entferntes Netzwerkgerät 240 ein DAMP-Datenpaket
empfängt,
kann es das selbe wie jedes andere UDP-Datenpaket verarbeiten. In
der Tat ist keine DAMP-Software auf den entfernten Netzwerkgeräten 240 notwendig, über die
normale UDP-Software hinaus, die notwendig ist, um das Datenpaket
zu empfangen. Bei einem alternativen Ausführungsbeispiel könnte das
Netzwerkelement 220 des entfernten Netzwerkgeräts 240 programmiert oder
anderweitig angepaßt
sein, um DAMP-bewußt zu
sein, so daß das
Netzwerkelement 220 die Liste von Adressen untersuchen
könnte,
die in dem DAMP-IP-Optionsfeld 520 enthalten
sind, um zu bestimmen, ob das DAMP-Datenpaket 510 für dieses Netzwerkelement 220 beabsichtigt
war. Dadurch würde
die Notwendigkeit wegfallen, daß Schalter
und Router die Bestimmungsort-IP-Adresse 524 auf eine Empfangs-IP-Adresse
einstellen müssen
(was für Netzwerkelemente 220 unpraktisch
durchzuführen sein
kann, ohne das Datenpaket 510 zu duplizieren und eine Kopie
des Datenpakets 510 für
jede Empfangsadresse an jedes Netzwerkgerät 240 zu senden, das
daran angeschlossen ist).
-
Ein
alternatives Ausführungsbeispiel
eines DAMP-Datenpaketcodierens
kann Bestimmungsortnummern zusammen mit den IP-Adressen in der Empfangsliste
speichern. Router und Schalter könnten
dann die Torzahlen in dem UDP-Anfangsblock in dem IP-Datenabschnitt
des DAMP-Datenpakets einstellen. Dieses alternative Ausführungsbeispiel
kann eine potentielle Begrenzung des DAMP-Codierschemas eliminieren,
wobei es andernfalls angenommen wird, daß die Bestimmungsortnummer
für jeden Empfangshost
identisch ist.
-
Das
Verfahren 400, das in 4 gezeigt
ist, ist besser verständlich
in Verbindung mit dem Diagramm der Struktur 500 eines DAMP-Datenpakets 510,
wie es in 5 gezeigt ist, und dem Diagramm eines
Ausführungsbeispiels
der Struktur eines IP-Optionsfelds 520 in einem direkt
adressierten Multicast-Protokolldatenpaket 510, wie es
in 6 gezeigt ist.
-
Das
Verfahren 400 arbeitet durch Einbetten (Schritt 420)
mehrerer IP-Adreßfelder 620 in
den Anfangsblockabschnitt 515 eines DAMP-Datenpakets 510.
Außerdem
liefert das Verfahren 400 ein Schema (Schritt 430),
durch das Netzwerkelemente 220, wie z. B. Netzwerkrouter
oder Schalter auf die Liste von mehreren IP-Adreßfeldern 620 zugreifen
können.
Ein Ausführungsbeispiel
der vorliegenden Erfindung plaziert ein eindeutig formatiertes IP-Optionsfeld 520 in den
IP-Anfangsblockabschnitt 515 des
DAMP-Datenpakets 510. Das IP-Optionsfeld 520 meldet durch einen
spezifischen Wert, der einem Code-Byte 610 in dem IP-Optionsfeld 520 zugewiesen
ist, daß das
Datenpaket 510 ein DAMP-Datenpaket ist, und zeigt daher
an, daß eine
Liste von mehreren IP-Adreßfeldern 620 in
dem IP-Anfangsblockabschnitt 515 des DAMP-Datenpakets eingebettet
ist. Das IP-Optionsfeld 520 kann dann durch die Netzwerkelemente 220 gelesen
und übersetzt
werden (Schritt 430), und auf die Liste von mehreren IP-Adreßfeldern 620,
die in dem IP-Anfangsblockabschnitt 515 des DAMP-Datenpakets 510 eingebettet
ist, kann dann zugegriffen werden und dieselbe kann gelesen werden.
Die Netzwerkelemente 220 übertragen dann (Schritt 440)
Kopien des DAMP-Datenpakets 510 zu jeder der Adressen in
der Liste von mehreren IP-Adreßfeldern 620.
-
Die
vorliegende Erfindung verbessert bestehende Multicast-Protokolle in einer
Hinsicht durch Nicht-Verbrauchen von Bandbreite auf einem Netzwerksegment,
um die gleichen Daten zweimal zu senden. Dies führt zu einer geringeren Netzwerkausnutzung
und verbesserten Netzwerkleistung. DAMP verbessert bestehende Mulitcast-Protokolle
ferner, indem es nicht den Mehraufwand des Einrichtens und Löschens von
Multicast-Gruppen
in dem Netzwerkschalter, unabhängig
von den Datenpaketen, erfordert, und indem es keinen Teilnehmerdienst
für die Übertragung
von Multicast Daten erfordert. Dies führt ebenfalls zu einer geringerer
Netzwerkausnutzung und einer verbesserten Leistungsfähigkeit.
-
Für ein Ausführungsbeispiel
der vorliegenden Erfindung kann außerhalb des eindeutigen DAMP-Adressierungsmodells
und Multicast-Verhaltens ein Vergleich durchgeführt werden zwischen den Netzwerkeffekten
von DAMP und dem gut bekannten UDP-Protokoll („UDP" = Unreliable Datagram Protocol) im
Gegensatz zu dem Übertragungssteuerprotokoll
(„TCP" = Transmission Control
Protocol). Dieser Vergleich kann gezogen werden, wo das Ausführungsbeispiel
der vorliegenden Erfindung keine Empfangsbestätigung für die DAMP-Datenpakete von
den entfernten Netzwerkgeräten
erfordert, die zu dem DAMP-Sendeklienten
zurück
gesendet werden müssen,
bevor die Übertragung
von zusätzlichen DAMP-Datenpaketen
fortgesetzt wird, wie bei UDP. Dieses Ausführungsbeispiel reduziert die
Belastung auf dem Netzwerk wesentlich.
-
Bei
einem anderen Ausführungsbeispiel
der vorliegenden Erfindung ist es erforderlich, daß die Empfangsbestätigung der
DAMP-Datenpakete durch die entfernten Netzwerkgeräte zu dem
DAMP-Sendeklient zurückgesendet
wird, ähnlich
zu der Art und Weise, auf die das TCP arbeitet. Dieses Ausführungsbeispiel
erfordert die bidirektionale Übertragung
von Daten, was zu einer entsprechend geringeren Verringerung beim
Netzwerkverkehr führt,
als bei dem oben beschriebenen Beispiel.
-
Eine
potentielle Verwendung, die für
DAMP angegeben ist, ist bei vernetzten Speicherungssystemen. DAMP
ermöglicht
es Datenklienten, Daten direkt zu Speicherelementen zu senden, und
ermöglicht
es den Datenklienten, die Daten in gestreiften und gespiegelten
Konfigurationen über
zahlreiche entfernte Speicherelemente anzuordnen, die jeweils ihre
eigene eindeutige IP-Adresse aufweisen, ohne daß Multicast Teilnehmerverwaltungselemente
in der Netzwerkinfrastruktur notwendig sind. DAMP ermöglicht es
dem Klienten, Daten effizient und dynamisch ohne unnötigen Mehraufwand
zu den geeigneten entfernten Speicherelementen zu übertragen.
-
Die
Schritte des Verfahrens 400 können mit Hardware oder durch
Ausführen
von Programmen, Modulen oder Scripten implementiert werden. Die Programme,
Module oder Scripte können
in einer Vielzahl von Formaten auf einem oder mehreren computerlesbaren
Medien gespeichert oder enthalten sein, wie z. B. Quellcade, Objektcode
oder ausführbarer
Code. Die computerlesbaren Medien können beispielsweise sowohl
Speicherelemente als auch Signale umfassen. Beispielhafte computerlesbare
Speichergeräte
umfassen herkömmliche
Computersystem RAM (Direktzugriffsspeicher), ROM (Nur-Lese-Speicher), EPROM
(löschbarer
programmierbarer ROM), EEPROM (elektrisch löschbarer, programmierbarer
ROM) und magnetische oder optische Platten oder Bänder. Beispielhafte
computerlesbare Signale, unabhängig
davon, ob sie unter Verwendung eines Trägers moduliert sind oder nicht, sind
Signale, auf die ein Computersystem, das die beschriebenen Verfahren
aufnimmt oder betreibt und entsprechend konfiguriert ist, zugreifen
kann, einschließlich
Signalen, die durch das Internet oder andere Netzwerke heruntergeladen
werden.