-
GEBIET DER
ERFINDUNG
-
Die
Erfindung bezieht sich allgemein auf Netzwerke und insbesondere
bezieht sich die Erfindung auf die Verwaltung einer Routentabelle
innerhalb einer Netzwerk-Einrichtung.
-
HINTERGRUND
DER ERFINDUNG
-
Information
wird im allgemeinen über
ein Netzwerk (beispielsweise das Internet) von einer Quelle zu einem
Ziel über
eine bestimmte Route übertragen.
Eine Route schließt
typischerweise ein oder mehrere Routenführungs-Einrichtungen (beispielsweise
Router) ein, die jeweils die Information entlang der Route weiterleiten.
Zu diesem Zweck schließt
jeder Router typischerweise eine Routentabelle ein, die verschiedene
in dem Netzwerk verfügbare
Routen speichert. Wie dies in der Technik bekannt ist, ändert sich
eine derartige Routeninformation sehr oft und muss daher periodisch
aktualisiert werden. Router aktualisieren daher typischerweise andere
Router in dem Netzwerk dadurch, dass sie Routeninformation über ein
oder mehrere Zwischen-Router-Protokolle übertragen.
-
Jedes
mal dann, wenn eine bestimmte Route an einem vorgegebenen Router
aktualisiert wird, müssen
alle Einträge
in der Routentabelle durchlaufen werden, bis die bestimmte Route
aufgefunden ist. Dieser Prozess kann zeitraubend sein, wodurch die Router-Betriebsleistung
beeinträchtigt
wird. Die Technik hat auf dieses Problem dadurch reagiert, dass
eine Vorrichtung geschaffen wurde, die anzeigt, ob sich zumindest
eine interessierende Route zu einem bestimmten Protokoll geändert hat.
In einer Weise ähnlich
zu dem Problem, das sie löst,
erfordert die Lösung,
dass viele Einträge
in der Routentabelle durchquert werden, bis eine interessierend
Route (zu einem bestimmten Protokoll) lokalisiert ist. Obwohl diese
Lösung
eine Verbesserung gegenüber
vielen bekannten Systemen darstellt, kann diese Lösung ebenfalls
zeitraubend sein, wodurch die Router-Betriebsleistung beeinträchtigt wird.
-
Die
US-5 802 316 beschreibt ein Verfahren zum Unterhalten einer Routentabelle
in einer Routenführungs-Einrichtung,
wobei die Routentabelle eine Vielzahl von Routen zwischen Netzwerk-Geräten in einem
Netzwerk einschließt
und mehrfachen Routenführungs-Protokollen
zugeordnet ist, wobei das Verfahren folgendes umfasst: Registrieren
eines vorgegebenen Satzes von Routen; Feststellen, ob sich irgendeine
der Routen in dem vorgegebenen Satz von Routen geändert hat;
und Auflisten von Daten, die jede Route in dem vorgegebenen Satz
von Routen identifizieren, von der festgestellt wurde, dass sie
sich geändert
hat.
-
Die
vorliegende Erfindung definiert ein Verfahren zum Unterhalten einer
Routentabelle, wie es im Anspruch 1 definiert ist.
-
Die
entsprechende Vorrichtung und ein Computer-Programmprodukt sind
in den Ansprüchen 10
bzw. 11 definiert.
-
Die
Erfindung definiert weiterhin ein Verfahren zur Feststellung, ob
sich eine vorgegebene Route in einer Routentabelle geändert hat,
wie dies im Anspruch 12 definiert ist. Die entsprechende Vorrichtung
und ein Computer-Programmprodukt sind in den Ansprüchen 15
bzw. 16 definiert.
-
Die
Erfindung ist dadurch gekennzeichnet, dass die Listen-Daten einen
ersten Datenwert einschließen,
der anzeigt, ob sich zumindest eine der Routen in dem vorgegebenen
Satz von Routen geändert
hat, wobei jede Route in dem Satz von Routen eine zugehörige Sequenznummer
einschließt,
die jedes mal dann geändert
wird, wenn eine Route geändert
wird, wobei der erste Datenwert eine Prüfsumme ist, die eine Funktion
von zumindest einer der Sequenznummern ist, die den Routen zugeordnet
sind, die sich geändert
haben.
-
Bei
bevorzugten Ausführungsformen
ist der vorgegebene Satz von Routen einem vorgegebenen Routenführungs-Protokoll
zugeordnet.
-
Die
Routentabelle kann weiterhin einen Listen-Datenwert einschließen, der
anzeigt, ob die vorgegebene Route (innerhalb des vorgegebenen Satzes)
aufgelistet ist. Der Listen-Datenwert kann ein einzelnes Bit sein,
das dem vorgegebenen Satz von Routen zugeordnet ist. Bei manchen
Ausführungsformen
wird eine Route dadurch aufgelistet, dass zunächst festgestellt wird, ob
der Listen-Datenwert gesetzt wurde, und dass dann die vorgegebene
Route aufgelistet wird, wenn festgestellt wurde, dass der Listen-Datenwert
nicht gesetzt wurde. Die vorgegebene Route wird daher nicht aufgelistet,
wenn festgestellt wurde, dass der Listen-Datenwert gesetzt ist. Ein
nicht gesetzter Listen-Datenwert kann gerade vor oder nach dem Auflisten
der vorgegebenen Route gesetzt werden. Unter anderem können die
gelisteten Daten einen Zeiger auf eine Route in der Routentabelle
einschließen.
Sobald die Liste gebildet wurde, kann auf sie ein Zugriff durchgeführt werden,
um jede Route festzustellen, die sich geändert hat. Auf diese Liste
kann zu jeder Zeit zugegriffen werden, um festzustellen, welche
Routen sich geändert
haben, beispielsweise einmal während
jedes ausgewählten
Abfrage-Intervalls.
-
Bevorzugte
Ausführungsformen
der Erfindung sind als ein Computer-Programmprodukt implementiert,
das ein von einem Computer nutzbares Medium mit einem darauf befindlichen
computerlesbaren Programmcode aufweist. Der computerlesbare Code
kann von den Computer-System entsprechend üblicher Prozesse gelesen und
verwendet werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Ausführungsformen
der Erfindung werden nunmehr in Form eines Beispiels unter Bezugnahme auf
die beigefügten
Zeichnungen beschrieben, in denen:
-
1 schematisch
ein Beispiel einer Netzwerk-Anordnung zeigt, bei der bevorzugte
Ausführungsformen
der Erfindung implementiert werden können;
-
2 schematisch
eine Routentabelle zeigt, die gemäß bevorzugter Ausführungsformen
der Erfindung konfiguriert ist;
-
3 einen
bevorzugten Prozess der Aktualisierung einer Routen-Änderungs-Liste (2) zeigt,
wenn eine vorgegebene Route geändert
wird;
-
4 den
bevorzugten Prozess der Hinzufügung
einer vorgegebenen Route zu einer vorgegebenen Routen-Änderungs-Liste
gemäß 2 zeigt,
-
5 schematisch
eine Bitmaske zeigt, die in der 2 gezeigten
Routentabelle verwendet werden kann;
-
6 einen
bevorzugten Prozess zur Feststellung der geänderter Routen in dem registrierten Satz
eines vorgegebenen Protokolls zeigt.
-
BESCHREIBUNG
BEVORZUGTER AUSFÜHRUNGSFORMEN
-
1 zeigt
schematisch ein Beispiel einer Netzwerk-Anordnung 10, bei
der bevorzugte Ausführungsformen
der Erfindung implementiert werden können. Im Einzelnen schließt das Netzwerk 10 eine Vielzahl
von Routern 12 ein (die als Router 1, Router 2, Router
3 und Router 4 identifiziert sind), die entweder direkt oder indirekt
mit dem Internet 14 gekoppelt sind. Unter anderem kann
jeder Router 12 mit einem (nicht gezeigten) lokalen Netzwerk
gekoppelt sein, oder er kann ein Zwischen-Router 12 sein,
der lediglich Datenpakete an andere Netzwerk-Geräte weiterleitet. Bei bevorzugten
Ausführungsformen
führen die
Router 12 ein gut bekanntes Internet-Protokoll („IP") aus, das das Format
der über
das Internet 14 weitergeleiteten Datenpakete festlegt.
-
Jeder
der Router 12 ist mit zumindest einem anderen Router 12 über eine
Verbindungsstrecke 16 gekoppelt. Beispielsweise ist der
Router 1 mit dem Router 2 über
eine erste Verbindungsstrecke 16A gekoppelt, während der
Router 2 mit dem Router 3 über eine
zweite Verbindungsstrecke 16B und mit dem Router 4 über eine
dritte Verbindungsstrecke 16C gekoppelt ist. Entsprechend
können,
wie dies dem Fachmann bekannt ist, Datenpakete zwischen irgendwelchen
der Router 12 und/oder dem Internet 14 über verschiedene
Kombinationen dieser Verbindungsstrecken 16 (das heißt Routen)
weitergeleitet werden. Beispielsweise kann der Router 1 ein Datenpaket
zum Router 4 über
eine Route weiterleiten, die dem Router 2 und dem Router 3 durchquert.
Alternativ kann der Router 1 ein Datenpaket an den Router 4 über eine
Route weiterleiten, die lediglich den Router 2 durchquert. Alle
Routen zum Internet müssen
jedoch den Router 4 einschließen.
-
Jeder
Router 12 schließt
eine Routentabelle ein, die einen Routeneintrag für viele
der verfügbaren Routen
in dem Netzwerk hat. 2 zeigt schematisch eine Routentabelle 24,
die gemäß bevorzugter Ausführungsformen
der Erfindung konfiguriert ist. Im einzelnen schließt die Routentabelle
eine Anzahl von Feldern 26 unter Einschluss eines Routen-Feldes 28 zum
Eintragen einer Route und einer Anzahl weiterer Felder zum Eintragen
von Daten ein, die jeder eingetragenen Route zugeordnet sind. Die
irgendeiner vorgegebenen Route zugeordnete Daten schließen Routenführungs-Information,
die in üblicherweise
in einer Routentabelle 24 gespeichert ist (beispielsweise
die Metrik, die Maske, usw. ...), eine Sequenznummer 30,
die jedesmal dann weiter geschaltet wird, wenn die vorgegebene Route
aktualisiert wird, eine Bitmaske 32, die den Prozess der
Auflistung geänderter
Routen erleichtert (weiter unten erläutert), und ein oder mehrere
Prüfsummen-Zeiger 34 (die
auf ein oder mehrere Prüfsummen
zeigen) zur Feststellung ein, ob eine vorgegebene Route aktualisiert
wurde (was in dem unmittelbar folgendem Absatz erläutert wird).
Zusätzlich
kann die Routentabelle 24 auch eine Routentabellen-Sequenznummer 36 einschließen, die
jedesmal dann geändert
wird, wenn irgendein Eintrag in der Routentabelle 24 aktualisiert
wird.
-
Die
Prüfsummen-Zeiger 34 werden
dazu verwendet, es verschiedenen Zwischen-Router-Protokollen zu ermöglichen,
ein oder mehrere interessierende Routen in der Routentabelle 24 zu
registrieren. Ein Protokoll kann Routen in irgendeiner Weise registrieren,
beispielsweise durch Weiterleiten einer Mitteilung, die die Registrierung
bestimmter Routen spezifiziert. Bei Empfang einer derartigen Mitteilung
können
die speziellen Routen im Speicher für eine nachfolgende Benutzung
verwendet werden. Entsprechend weisen, wie dies durch das Beispiel
in 2 gezeigt ist, die Routen, die durch ein vorgegebenes Protokoll
registriert wurden, einen Prüfsummen-Zeiger 34 auf,
der auf eine Prüfsumme 35 für das vorgegebene
Protokoll zeigt. Alle die Routen, die in der Routentabelle 24 durch
irgendein Protokoll registriert wurden, werden somit hier als ein „registrierter
Satz" von Routen
bezeichnet. Ein registrierter Satz kann keine Routen oder viele
Routen haben. Beispiele von Protokollen, die mit bevorzugten Ausführungsformen verwendet
werden können,
schließen
das Routenführungs-Informations-Protokoll
(„RIP") das Protokoll des
Verwendung des offenen kürzesten
Pfades als Erstem („OSPF") und das Rand-Überleiteinrichtungs-Protokoll
(„BGP") ein. Es ist jedoch
festzustellen, dass die Diskussion dieser Protokolle lediglich ein
Beispiel darstellt und den Schutzumfang der Erfindung nicht beschränken soll.
-
Die
Prüfsumme
35 jedes
Protokolls wird geändert,
nachdem eine der Routen ihres registrierten Satzes geändert wurde.
Entsprechend kann sehr einfach festgestellt werden, ob zumindest
eine Route in einem registrierten Satz eines vorgegebenen Protokolls
sich geändert
hat, indem festgestellt wird, dass die Prüfsumme
35 dieses vorgegebenen
Protokolls von einer früher
aufgezeichneten Prüfsumme
verschieden ist. Beispielsweise zeigt
2 eine Prüfsumme
35 für das OSPF-Protokoll,
und eine Prüfsumme
35 für das RIP-Protokoll.
Die Route 4 schließt einen
Prüfsummen- Zeiger
34 ein,
der auf die RIP-Prüfsumme
35 zeigt.
Entsprechend wird, wenn die Route 4 geändert wird, lediglich die RIP-Prüfsumme
35 geändert. Die
OSPF-Prüfsumme
35 wird
nicht geändert.
Eine Route wird unter vielen gut bekannten Umständen als geändert betrachtet, beispielsweise wenn
sich ihre Metrik geändert
hat, wenn sie aus der Tabelle als eine Route entfernt wird, oder
wenn sie zu der Tabelle hinzugefügt
wird. Wie dies in
2 gezeigt ist, können die
Prüfsummen-Zeiger
34 auf
keine Prüfsummen
35 oder
auf viele Prüfsummen
35 zeigen.
Hinsichtlich zusätzlicher
Einzelheiten bezüglich der
Verwendung von Prüfsummen
35 wird
auf die
EP 1 058 425 verwiesen.
-
Gemäß bevorzugter
Ausführungsformen
der Erfindung schließt
jede Prüfsumme 35 (das
heißt
für jedes
Protokoll) eine Liste 38 von Routen (innerhalb des registrieren
Satzes für
dieses Protokoll) ein, die sich geändert haben. Bei bevorzugten
Ausführungsformen
schließt,
wie dies in 2 gezeigt ist, die Liste 38 eine
verkettete Liste von Zeigern ein, die jeweils auf Routen-Einträge (in der
Routentabelle 24) zeigen, die sich geändert haben. Im einzelnen schließt jeder
Eintrag in der Liste 38 einen Routen-Zeiger 40 ein,
der auf eine Route zeigt, die sich geändert hat, sowie einen Zeiger
für einen
nächsten
Eintrag, der auf den nächsten
Eintrag in der Liste 38 zeigt. Beispielsweise schließt die OSPF-Liste 38 nach 2 einen
Listen-Start-Zeiger 44 ein, der lediglich ein Zeiger auf
den ersten Eintrag in der Liste 38 ist. Bei der Betrachtung
der Zeiger in dem ersten Eintrag ist festzustellen, dass sich die
erste Route geändert
hat, und dass der nächste
Eintrag der zweite Eintrag in der Liste 38 ist. Bei einer Überprüfung de
Zeiger in dem zweiten Eintrag kann festgestellt werden, dass sich
die zweite Route geändert
hat, und dass der nächste
Eintrag der dritte Eintrag ist. Die gesamte Liste 38 wird
daher in dieser Weise durchquert, bis alle geänderten Routen bestimmt wurden.
-
Es
ist festzustellen, dass obwohl ein Listen-Start-Zeiger 44 verwendet
wird, die Liste 38 nur Routeneinträge einschließen kann.
Weiterhin kann die Liste 38 in fortlaufenden Speicherplätzen, nicht-fortlaufenden
Speicherplätzen
oder irgendeiner anderen Speicherkonfiguration gespeichert werden. Es
sei weiterhin bemerkt, dass obwohl lediglich zwei Listen 38 gezeigt
sind, verschiedene Ausführungsformen
der Erfindung viel mehr Listen 38 verwenden können. Tatsächlich ist
die Verwendung einer Liste 38 ein Beispiel einer Speicher-Struktur,
weil irgendeine Datenstruktur, die in der Lage ist, die genannte Auflistungs-Funktion durchzuführen, verwendet
werden kann. Der Ausdruck „Liste" wird daher hier
verwendet, um irgendeine derartige Struktur zu bezeichnen.
-
3 zeigt
einen bevorzugten Prozess der Aktualisierung der Liste 38,
wenn eine Route geändert
wird. Dieser Prozess wird jedesmal dann wiederholt, wenn eine Route
geändert
wird. Vor der Ausführung
dieses Prozesses registriert, wie dies weiter oben vorgeschlagen
wurde, jedes Protokoll seinen registrierten Satz in der Routentabelle 24.
Der Prozess beginnt somit am Schritt 300, in dem eine vorgegebene
Route geändert
wird. Die Standard-Routen-Information, wie zum Beispiel die Metrik
und die Routen-Sequenznummer 30, wird dann für die vorgegebene
Route innerhalb der Routentabelle 24 aktualisiert (Schritt 302).
-
Alle
erforderlichen Prüfsummen 35 werden dann
im Schritt 304 aktualisiert, um die Tatsache wiederzugeben,
dass sich die vorgegebene Route geändert hat. Zu diesem Zweck
wird festgestellt, welche registrierten Sätze die vorgegebene Route einschließen. Beispielsweise
können
RIP und OSPF beide die vorgegebene Route enthalten haben. In diesem
Fall wird die Prüfsumme 35 sowohl
für RIP
als auch für OSPF
geändert.
Bei bevorzugten Ausführungsformen
werden die Prüfsummen 35 durch
Anwenden einer logischen Operation auf sowohl die Prüfsumme 35 als
auch die Routen-Sequenznummer 30 der Route geändert, die
sich geändert
hat. Beispielsweise können
die Prüfsumme 35 und
die Routen-Sequenznummer 30 einer vorgegebenen Route durch
ein EXKLUSIV-ODER- (XOR-) Verknüpfungsglied
verarbeitet werden, um eine neue Prüfsumme 35 zu erzeugen.
Andere Verfahren zum Ändern
der Prüfsumme 35 können ebenfalls
verwendet werden.
-
Der
Prozess geht dann zum Schritt 306 über, in dem die Listen 38 jedes
Protokolls, das die vorgegebene Route registriert hat, aktualisiert
werden. 4 zeigt einen bevorzugten Prozess
der Hinzufügung
der vorgegebenen Route zu einer vorgegebenen Protokoll-Liste 38.
Der Prozess beginnt im Schritt 400, in dem festgestellt
wird, ob der Bitmasken-Eintrag (2) für das vorgegebene
Protokoll auf „1" gesetzt wurde. Wie
dies in 5 gezeigt ist, schließt die Bitmaske 32 für die vorgegebene
Route vorzugsweise ein oder mehrere Bits ein, die anzeigen, ob die Route
zu der Liste 38 für
das vorgegebene Protokoll hinzugefügt wurde. Beispielsweise schließt die Bitmaske 32 in 5 ein
einzelnes Bit für
jedes von vier unterschiedlichen Protokollen ein. Wenn das dem vorgegebenen
Protokoll zugeordnete Bit auf „1" gesetzt ist, so
wurde die vorgegebene Route zu der Liste 38 hinzugefügt. Wenn
umgekehrt das dem vorgegebenen Protokoll zugeordnete Bit auf „0" gesetzt wurde, so
wurde die vorgegebene Route nicht zu der Liste 38 hinzugefügt. Das
Beispiel der Bitmaske 32, die in 5 gezeigt
ist, zeigt somit an, dass die vorgegebene Route zu der Liste 38 des
Protokolls 2 hinzugefügt
wurde, jedoch nicht zu der Liste 38 der Protokolle 1, 3
oder 4. Selbstverständlich
betrachten manche Ausführungsformen
die vorgegebene Route als zu der Liste 38 hinzugefügt, wenn
ein Bit auf „0" gesetzt wurde, und
sie betrachten weiterhin eine vorgegebene Route als nicht zu der
Liste 38 hinzugefügt,
wenn dieses Bit auf „1" gesetzt ist.
-
Das
Prüfen
der Bitmaske 32 vor der Hinzufügung einer vorgegebenen Route
zu der Liste 38 stellt sicher, dass die vorgegebene Route
nicht mehr als einmal zu der Liste 38 hinzugefügt wird.
Es sei bemerkt, dass weil es die Hauptfunktion der Liste 38 ist, die
Routen zu identifizieren, die sich geändert haben, es nicht erforderlich
ist, eine vorgegebene Route mehr als einmal aufzulisten. Entsprechend
endet bei einer Rückkehr
zum Schritt 400 und der Feststellung, dass das Bit gesetzt
ist (das heißt,
dass die vorgegebene Route bereits zu der Liste 38 während irgendeines
vorhergehenden Zyklus hinzugefügt
wurde) der Prozess. Wenn umgekehrt im Schritt 400 festgestellt wird,
dass das Bit nicht gesetzt ist, so geht der Prozess zum Schritt 402 über, in
dem das Bit gesetzt wird, wodurch angezeigt wird, dass sich die
vorgegebene Route in der Liste 38 für das vorgegebene Protokoll
geändert
hat.
-
Die
Liste 38 wird dann im Schritt 404 dadurch aktualisiert,
dass geeignete Zeiger zu der Liste 38 hinzugefügt werden.
Speziell wird ein neuer Eintrag zu der Liste 38 hinzugefügt, und
der Zeiger 42 für
den nächsten
Eintrag in dem letzten Eintrag in der Liste 38 wird so
eingestellt, dass er auf den nächsten
Eintrag zeigt. Zusätzlich
wird ein Routen-Zeiger 40 zu dem neuen Eintrag hinzugefügt, der
auf dem Platz in der Routentabelle 24 der vorgegebenen
Route zeigt, wodurch angezeigt wird, dass sie sich geändert hat. In
manchen Ausführungsformen
zeigt der Zeiger 42 für
den nächsten
Eintrag des neuen Eintrags auf einen Null-Zeiger, was anzeigt, dass
dies der letzte Eintrag in der Liste 38 ist. Es sei bemerkt,
dass obwohl das Bit in einem früheren
Schritt (Schritt 402) gesetzt wird, als dem Schritt, in
dem die Zeiger zu der Liste 38 hinzugefügt werden (Schritt 404)
diese Schritte in irgendeiner Reihenfolge oder gleichzeitig ausgeführt werden
können.
-
6 zeigt
einen bevorzugten Prozess zur Feststellung, welche Routen (falls
zutreffend) in dem für
ein vorgegebenes Protokoll registrierten Satz geändert wurden. Der Prozess kann
als ein Aufruf-Prozess, ein Interrupt-Prozess oder irgendein anderer Prozess
ausgeführt
werden. Der Prozess beginnt im Schritt 600, in dem festgestellt
wird, ob die Prüfsumme 35,
die von der Routentabelle 24 (2) für das vorgegebene
Protokoll geführt
wird, die gleiche wie die örtliche
Kopie der Prüfsumme 35 ist.
Siehe Schritt 612 der weiter unten erläutert wird, hinsichtlich zusätzlicher
Einzelheiten der örtlichen
Kopie der Prüfsumme 35.
Wenn die zwei Prüfsummen 35 gleich sind,
so sind keine Änderungen
an irgendwelchen Routen in dem registrierten Satz des vorgegebenen Protokolls
aufgetreten. Umgekehrt hat sich, wenn die zwei Prüfsummen 35 nicht
gleich sind, zumindest eine Route in dem registrierten Satz des
vorgegebenen Protokolls geändert.
In einen derartigen Fall geht der Prozess zum Schritt 602 über, in
dem eine „laufender
Eintrag"-Variable
auf den ersten Eintrag in der Liste 38 des vorgegebenen
Protokolls gesetzt wird. Zu diesem Zweck wird der Listen-Startzeiger 44 in der
Liste 38 lokalisiert und dazu verwendet, den ersten Eintrag
in der Liste 38 festzustellen. Der erste Eintrag wird somit
auf den „laufenden
Eintrag" gesetzt.
-
Sobald
der laufende Eintrag lokalisiert wurde, wird der Routen-Zeiger 40 dieses
Eintrags in dem Schritt 604 dazu verwendet, eine der Routen
festzustellen, die sich geändert
haben (das heißt
der laufende Eintrag wird zurückgewonnen).
Beispielsweise zeigt, wie dies weiter oben erläutert wurde, beim Zugriff auf
die OSPF-Liste 38 in 2 der Routen-Zeiger 40 des
ersten Zeigers (das heißt
der laufende Eintrag) auf die erste Route in der Routentabelle 24.
-
Der
Prozess geht dann zum Schritt 606 über, in dem das Bit in der
Bitmaske 32 des laufenden Eintrags für das vorgegebene Protokoll
gelöscht
wird (das heißt
auf „0" gesetzt wird). Beispielsweise
wird für
den ersten Eintrag in der OSPF-Liste 38 nach 2 das
OSPF-Bit in der Bitmaske 32 der Router 1 gelöscht, was
anzeigt, dass dieser Eintrag von dem OSPF-Protokoll gelesen wurde.
Der Prozess geht zum Schritt 608 über, in dem festgestellt wird,
ob der laufende Eintrag der letzte Eintrag in der Liste 38 ist. Dies
kann durch Prüfen
des Zeigers 42 für
den nächsten
Eintrag bestimmt werden, um festzustellen, ob er auf einen Null-Wert
zeigt. Wenn festgestellt wird, dass er nicht der letzte Eintrag
in der Liste 38 ist, so geht der Prozess zum Schritt 610 über, in
dem die Variable für
den laufenden Eintrag so gesetzt wird, dass sie gleich dem nächsten Eintrag
in der Liste 38 ist. Zu diesem Zweck wird die Variable
für den
laufenden Eintrag so gesetzt, dass sie der Eintrag ist, auf den
der Zeiger 42 für
den nächsten
Eintrag zeigt. Der Prozess kehrt dann zum Schritt 604 zurück, um den laufenden
Eintrag zurückzugewinnen.
-
Umgekehrt
wird, wenn im Schritt 608 festgestellt wird, dass der laufende
Eintrag der letzte Eintrag ist, der Prozess im Schritt 612 fortgesetzt,
in dem die neue Prüfsumme 35 als
eine lokale Kopie der Prüfsumme 35 für das vorgegebene
Protokoll kopiert wird. Wie dies weiter oben erwähnt wurde und in der vorstehend
genannten europäischen
Patentanmeldung angegeben ist, wird die örtliche Kopie der Prüfsumme 35 dazu
verwendet, festzustellen, ob sich irgendwelche Einträge in dem
registrierten Satz für das
vorgegebene Protokoll geändert
haben. Der Prozess setzt sich dann mit dem Schritt 614 fort,
in dem die gesamte Liste 38 gelöscht wird. Bei manchen Ausführungsformen
kann die Liste 38 dadurch gelöscht werden, dass der Listen-Start-Zeiger 44 so
gesetzt wird, dass er auf einen Null-Wert zeigt, und dass dann die
Speicherplätze
der anderen Zeiger in der Liste 38 gelöscht werden. Andere gut bekannte
Verfahren zum Löschen
der Liste 38 können
ebenfalls verwendet werden.
-
Es
sei bemerkt, dass verschiedene Einzelheiten der Erfindung als Beispiel
erläutert
wurden und nicht dazu bestimmt sind, spezielle Ausführungsformen
der Erfindung zu beschränken.
Beispielsweise können
andere Datenwerte als Prüfsummen 35 verwendet
werden, um festzustellen, ob irgendeine Route in dem registrierten
Satz geändert
wurde. Weiterhin können
wie dies weiter oben angegeben wurde, verschiedene Schritte in dem
erläuterten
Verfahren in einer anderen Reihenfolge ausgeführt werden, als sie beschrieben
wurde, oder sie können
gleichzeitig ausgeführt
werden.
-
Bevorzugte
Ausführungsformen
der Erfindung können
in irgendeiner üblichen
Computer-Programmiersprache implementiert werden. Beispielsweise
können
bevorzugte Ausführungsformen
in einer Prozedur-Programmiersprache (beispielsweise „C") oder einer objektorientierten
Programmiersprache (beispielsweise „C++" oder „JAVA") implementiert werden. Alternative
Ausführungsformen
der Erfindung können
als vorprogrammierte Hardware-Elemente implementiert werden (beispielsweise
anwendungsspezifische integrierte Schaltungen) oder als andere ähnliche
Bauteilen.
-
Alternative
Ausführungsformen
der Erfindung können
als ein Computer-Programm-Produkt zur
Verwendung mit einem Computersystem implementiert werden. Eine derartige
Implementierung kann eine Serie von Computer-Befehlen einschließen, die
entweder auf einem körperlichen
Medium, wie zum Beispiel einem computerlesbaren Medium (beispielsweise
einer Diskette, CD-ROM, ROM oder Festplatte) festgelegt sind, oder
die zu einem Computersystem über
ein Modem oder eine andere Schnittstellen-Einrichtung übertragen
werden können,
wie zum Beispiel über
einen Kommunikations-Adapter, der mit einem Netzwerk über ein
Medium verbunden ist. Das Medium kann entweder ein körperliches
Medium (beispielsweise optische oder analog-Kommunikations-Leitungen)
oder ein Medium sein, das mit drahtlosen Techniken (beispielsweise
Mikrowellen-, Infrarot- oder anderen Übertragungstechniken) implementiert
sein kann. Die Serie von Computer-Befehlen verwirklicht vorzugsweise die
gesamte vorstehend beschriebene Funktionalität bezüglich des Systems, oder einen
Teil hiervon. Der Fachmann sollte erkennen, dass derartige Computer-Befehle
in einer Anzahl von Programmiersprachen zur Verwendung mit irgendeiner
Computer-Architektur oder einem Betriebssystem geschrieben werden
können.
Weiterhin können
derartige Befehle in irgendeinem Speichergerät, wie zum Beispiel einem Halbleiter-Magnetoptischen
oder anderem Speichergerät
gespeichert werden, und sie können
unter Verwendung irgendeiner Kommunikations-Technologie, wie zum
Beispiel optisch, Infrarot, Mikrowellen oder andere Übertragungs-Technologien übertragen werden.
Es wird erwartet, dass ein derartiges Computer-Programm-Produkt
als ein entfernbares Medium mit begleitender gedruckter oder elektronischer Dokumentation
(beispielsweise Software in Schrumpfverpackung) verteilt werden
kann, oder dass es auf einem Computersystem (beispielsweise auf
dem System-ROM oder
einer Festplatte) vorgeladen ist, oder dass es von einem Server
oder einem elektronischen Bulletin-Board über das Netzwerk übertragen
werden kann (beispielsweise das Internet oder das Weltweite Datennetz).