-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft das Gebiet von Computernetzwerken
und insbesondere das Gebiet der Netzwerke-Konfiguration.
-
HINTERGRUND
-
Computernetzwerke
verbinden Computersysteme und andere Netzwerkvorrichtungen, die
kollektiv als "Knoten" oder "Hosts" bezeichnet werden, so,
dass sie Daten austauschen können.
Obwohl viele Netzwerke aus verdrahteten Verbindungen bestehen, beschreibt
der Begriff "Netzwerk" auch verschiedenartige
drahtlose Netzwerke. Knoten in dem gleichen Netzwerk werden normalerweise
jeweils unter Verwendung einer Netzwerk-Adresse identifiziert, die in
dem Netzwerk einmalig ist.
-
Ein
Netzwerk kann Host für
eines oder mehrere logische Netzwerke sein, die auch als "Teilnetzwerke" (oder "Teilnetze") des Netzwerks bezeichnet werden.
Teilnetze werden durch die Teilgruppe aller möglichen Netzwerkadressen definiert,
die sie enthalten. In einem Netzwerk mit Teilnetzen enthalten die
Netzwerk-Adressen der Knoten normalerweise zwei Komponenten oder "Teile", d. h. einen "Netzwerk-Teil", der das spezielle
Teilnetzwerk identifiziert, dessen Mitglied der Knoten ist und dessen
Inhalt über
alle Netzwerk-Adressen der Knoten eines bestimmten Teilnetzwerkes
unveränderlich
ist, sowie einen "Host-Teil", der den speziellen
Knoten innerhalb des Teilnetzwerks identifiziert.
-
Die
Größe des Raums
in den Netzwerk-Adressen von Knoten in einem bestimmten Teilnetz,
die für
den Host benötigt
werden, variiert mit der Anzahl von Knoten in dem Teilnetzwerk,
da mehr Raum erforderlich ist, um größere Zahlen von Knoten eindeutig
zu identifizieren. Daher ermöglichen
es viele Adressierschemen, die Größe des Host-Teils der Netzwerk-Adresse
und entsprechend die Größe des Netzwerk-Teils
von Teilnetz zu Teilnetz zu variieren.
-
In
vielen Situationen ist es nützlich,
alle Teilnetze zu identifizieren, die in einem bestimmten Netzwerk
arbeiten. Diese Informationen werden häufig benötigt, wenn ein neuer Knoten,
wie beispielsweise eine Netzwerk-Sicherheitsvorrichtung oder ein
Router zu dem Netzwerk hinzugefügt
wird, oder wenn ein existierender Knoten in dem Netzwerk konfiguriert wird.
-
Im
Allgemeinen schließt
das Identifizieren eines Teilnetzes sowohl 1. Identifizieren des
Abschnitts von Netzwerk-Adressen des Teilnetzes ein, der für den Netzwerk-Teil
bestimmt ist, als auch 2. Bestimmen des Inhalts des Netzwerk-Teils
ein. Um die Teilnetze eines bestimmten Netzwerks zu identifizieren, sucht
ein Netzwerk-Spezialist üblicherweise
einen oder mehrere Knoten des Netzwerks physisch auf und fragt diese/n
ab. Dieses Vorgehen ist sowohl teuer als auch zeitaufwendig, da
es die physische Präsenz
eines schwer verfügbaren
Netzwerk-Spezialisten erforderlich macht.
-
Angesichts
des Obenstehenden wäre
eine Einrichtung zum automatischen identifizieren von Teilnetzen
in einem Netzwerk außerordentlich
nützlich.
-
H-C.
Lin et al., "An
Algorithm for Automatic Topology Discovery of IP Networks", IEEE, US, Bd. 2, Conf.
5, 7. Juni 19998, S. 1192–1196,
beschreibt einen Topologie-Aufdeckungsmechanismus für IP-Netzwerke.
Es wird beschrieben, dass Topologiekonfigurationsinformationen von
verschiedenen Quellen einschließlich
der MIB in Routern und Gateways, des Internet Control Message Protocol
(ICMP), des Traceroute-Programms, des Domännamen-Systems (Domain Name
System – DNS)
und etc. bezogen werden. Um die MIB-Informationen in einem Router
abzurufen, muss die IP-Adresse des Routers bekannt sein. Die IP-Adressen
der Router in dem betreffenden Netzwerk sind jedoch möglicherweise
im voraus nicht bekannt. Diese Veröffentlichung stellt einen Algorithmus
für automatische
Topografie-Ermittlung unter der Voraussetzung dar, dass die IP-Adressen
der Router im voraus bekannt sind. Ausführliche Implementierungsverfahren
zum Zusammenführen der
einzelnen Informationen zum Erzeugen einer Topologie-Karte werden
erläutert.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung wird in den unabhängigen
Ansprüchen
beansprucht.
-
Bevorzugte
Ausführungsformen
sind in den abhängigen
Ansprüchen
definiert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein abstraktes Blockschaltbild des Computersystems, auf dem die
Vorrichtung vorzugsweise ausgeführt
wird.
-
2 ist
ein Flussdiagramm, das die Schritte zeigt, die vorzugsweise durch
die Vorrichtung durchgeführt
werden, um die Teilnetze zu identifizieren, die in einem Netzwerk
eingesetzt werden.
-
3 ist
ein Flussdiagramm, das die Schritte zeigt, die vorzugsweise durch
die Vorrichtung in der "IdentifySubnet"-Routine durchgeführt werden.
-
4 ist
ein Datenstrukturschema, das einen Muster-Teilnetz-Baum zeigt.
-
5 ist
ein Netzwerkadressen-Schema, das die Adressen im Bereich von Knoten 406 zeigt, der
in 4 dargestellt ist.
-
6 ist
ein Netzwerkadressen-Schema, dessen Inhalt von dem in 4 dargestellten
Teilnetz-Baum abweicht.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Eine
Softwarevorrichtung zum automatischen Identifizieren von Teilnetzwerken
("die Vorrichtung") wird geschaffen.
Die Vorrichtung arbeitet vorzugsweise in einem Computersystem oder
einer anderen Einrichtung, die eine Gruppe geschützter Computersysteme vor unautorisierten
Paketen schützt,
kann jedoch in anderen Typen temporärer oder permanenter Netzwerkknoten
arbeiten.
-
In
einer bevorzugten Ausführung
identifiziert die Vorrichtung zunächst die Netzwerk-Adressen von Hosts
in dem Netzwerk. Aus der Liste identifizierter Host-Adressen konstruiert
die Vorrichtung einen Baum, der das Netzwerk darstellt. Da dieser
Baum auch alle möglichen
Teilnetze darstellt, die möglicherweise
in dem Netzwerk vorhanden sein können, wird
er als ein "Teilnetz-Baum" bezeichnet. Die
Vorrichtung führt
vorzugsweise einen Preorder-Durchlauf (preorder traversal) dieses
Baums durch und testet mögliche
Teilnetze, die bei dem Durchlauf aufgesucht werden, um festzustellen,
ob sie tatsächlich Teilnetze
bilden, die in dem Netzwerk verwendet werden.
-
Die
Vorrichtung testet vorzugsweise jedes mögliche Teilnetz, indem sie
zuerst bestimmt, ob eine der zwei "zentralen" Adressen in der Mitte des Bereiches
von Adressen, die dem möglichen
Teilnetz entsprechen, als eine Host-Adresse identifiziert worden ist.
-
Wenn
dies der Fall ist, identifiziert die Vorrichtung das mögliche Teilnetz
als ein tatsächliches Teilnetz
und ignoriert jegliche möglichen
Teilnetze mit Adressbereichen, die Teilbereiche des Adressbereichs
des tatsächlichen
Teilnetzes sind. Dieser Test basiert auf einem üblichen Verfahren des Reservierens
der größten und
der kleinsten Adresse in einem Teilnetz-Adressbereich vor Zuweisung
zu einem Host, d. h. der Host, der die zentrale Adresse hat, muss
in einem Teilnetz enthalten sein, da jedoch die zentrale Adresse
des aktuellen Bereiches die größte oder
die kleinste Adresse aller Teilbereiche des aktuellen Bereiches
ist, kann der Host, der die zentrale Adresse hat, in kein Teilnetz
integriert werden, das einen Adressbereich hat, der ein Teilbereich
des aktuellen Bereiches ist. Da die Durchlauf-Reihenfolge des Baums
jegliche möglichen
Teilnetze ausgeschlossen hat, die Adressbereiche haben, die Überbereiche
des aktuellen Bereiches sind, muss der Host mit der zentralen Adresse
in dem aktuellen möglichen
Teilnetz eingeschlossen sein. Dieser Test hat den Vorteil, dass
er sehr kostengünstig
durchzuführen
ist.
-
Wenn
keine der zwei zentralen Adressen in dem Bereich von Adressen, der
dem möglichen
Teilnetz entspricht, als eine Host-Adresse identifiziert worden
ist, sendet die Vorrichtung als nächstes eine Anzahl von Test-Paketen
zu identifizierten Host-Adressen innerhalb des Bereiches. Jede Testnachricht
fordert eine Antwort an und hat eine Ursprungsadresse, die die der
Zieladresse gegenüberliegende
Hälfte
des Adressbereiches ist. Wenn mehr als ein Schwellen-Prozentsatz
von Hosts, die Testnachrichten empfangen, direkt an die Quellenadresse
der Testnachricht in der anderen Hälfte des Adressbereiches antwortet,
identifiziert die Vorrichtung das mögliche Teilnetz als ein tatsächlich vorhandenes
Teilnetz und ignoriert jegliche möglichen Teilnetze, die Adressbereiche
haben, die Teilbereiche des Adressbereiches des aktuellen Teilnetzes
sind. Ansonsten prüft
die Vorrichtung weiter mögliche
Teilnetze, die Adressbereiche haben, die Teilbereiche des Adressbereiches
des aktuellen möglichen
Teilnetzes sind. Dieser Test basiert auf der Praxis, dass Pakete
innerhalb des gleichen Teilnetzes direkt zu Zieladressen gesendet
werden, jedoch Pakete mit Zieladressen innerhalb eines anderen Teilnetzes
zu einem Router zur Zustellung weitergeleitet werden. Dieser Test
hat den Vorteil, dass mit ihm wirkungsvoll die meisten tatsächlichen
Teilnetze identifiziert werden.
-
Indem
ein Netzwerk auf diese Weise analysiert wird, kann die Vorrichtung
genau und automatisch Teilnetze identifizieren, die innerhalb des
Netzwerks arbeiten. Aus diesem Grund ermöglicht es die Vorrichtung,
automatisch Einrichtungen innerhalb des Netzwerkes, wie beispielsweise
Router und Netzwerk-Sicherheitsvorrichtungen, zu konfigurieren,
ohne dass der teure und zeitaufwendige manuelle Eingriff eines Netzwerksicherheits-Experten erforderlich
ist.
-
Obwohl
die Vorrichtung vorzugsweise mit einer Vielzahl vorhandener und
zukünftiger
Netzwerk-Adressierschemen arbeitet, wird ihre spezielle Implementierung
im Folgenden unter Bezugnahme auf das Internet-Protokoll-Netzwerk-Adressierschema
erläutert.
Um diese Erläuterung
zu erleichtern, wird das Internet-Protokoll-Adressieren kurz beschrieben.
-
Version
4 des Internet-Protokoll-Standards ("IPv4")
spezifiziert, dass numerische Netzwerk-Adressen in einem IP-Netzwerk
(IP-Adressen") vorzeichenlose
32-Bit-Ganzzahlen sind, die aus vier 8-Bit-Bytes bestehen. (In Version
6 bzw. "IPv6" sind IP-Adressen
vorzeichenlose 128-Bit-Ganzzahlen.). IP-Adressen werden normalerweise
in der so genannten "Dezimalschreibweise
mit Punkt" (dotted decimal
notation) ausgedrückt,
in der die Bytes als ganze dezimale Zahlen dargestellt sind, die
durch Dezimalpunkte getrennt sind. Ein Beispiel einer IP-Adresse
in Dezimalschreibweise mit Punkt ist in Zeile (1) dargestellt:
208.152.24.18
(1)
-
IP-Adressen
können
auch in Hexadezimal- oder Binärform
ausgedrückt
werden. Zeile (2) zeigt die gleiche beispielhafte IP-Adresse in
Hexadezimalform, während
Zeile (3) die gleiche IP-Adresse in Binärform zeigt:
D0 98 18
12 (2)
11010000 10011000 00011000 00010010 (3)
-
Teilnetze
werden im Allgemeinen auf Basis eines Bereiches von Netzwerk-Adressen
definiert, die sämtlich
mit dem gleichen Adressen-Präfix
beginnen. So ist beispielsweise ein Bereich von Adressen, der einem
möglichen
Teilnetz entsprechen kann, das die auf Zeile (1)–(3) dargestellten Adressen
enthält, in
Zeile (4), (5) und (6) in Dezimalschreibweise mit Punkt, Hexadezimal-
bzw. Binärform
dargestellt.
208.144.0.0–208.159.255.255
(4)
D0 90 00 00–D0
9F FF FF (5)
11010000 10010000 00000000 00000000–11010000 10011111
11111111 11111111 (6)
-
Die
Adressen in den Adressbereichen, die in Zeile (5) und (6) dargestellt
sind, teilen sich das Adress-Präfix,
das in Zeile (7) in Binär-Form
dargestellt ist.
11010000 1001 (7)
-
Ein
Bereich von Adressen, die ein Teilnetz bilden, kann auch unter Verwendung
einer "Schrägstrich"-Darstellung ausgedrückt werden,
bei der auf die kleinste Adresse des Bereiches in Dezimalschreibweise
mit Punkt ein Schrägstrich
folgt und dann die Anzahl binärer
Stellen in dem Präfix.
Die folgende Zeile (8) enthält
beispielsweise einen Ausdruck der in Zeilen (4), (5) und (6) in
Schrägstrich-Schreibweise
dargestellten Bereiche.
208.144.0.0/12 (8)
-
1 ist
ein abstraktes Blockschaltbild des Computersystems, in dem die Vorrichtung
vorzugsweise arbeitet. Das Computersystem 100 enthält eine
oder mehrere zentrale Verarbeitungseinheiten (CPU) 110,
Eingabe/Ausgabe-Einrichtungen 120 und einen Computerspeicher
(Speicher) 130. Zu den Eingabe/Ausgabe-Einrichtungen gehören eine
Speichereinrichtung 121, wie beispielsweise ein Festplattenlaufwerk,
und ein Laufwerk 122 für
computerlesbare Medien, das verwendet werden kann, um Softwareerzeugnisse
einschließlich
der Komponenten der Vorrichtung zu installieren, die auf einem computerlesbaren
Medium, wie beispielsweise einer CD-ROM, vorhanden sind. Die Eingabe/Ausgabe-Einrichtungen
enthalten des Weiteren eine Netzwerkverbindung 123, über die
das Computersystem 100 mit dem durch die Vorrichtung zu
analysierenden Netzwerk verbunden werden kann. Der Speicher 130 enthält vorzugsweise
die enthaltene Netzwerk-Identifizierungseinrichtung 131 sowie
einen Teilnetz-Baum 132, der durch die Vorrichtung erzeugt
und verwendet wird. Obwohl die Vorrichtung vorzugsweise in einem
Computersystem implementiert wird, wie es oben beschrieben ist,
weiß der
Fachmann, dass sie in Computersystemen mit anderen Konfigurationen implementiert
werden kann. Die Vorrichtung kann insbesondere in einer speziellen
Netzwerk-Sicherheitsvorrichtung, einer speziellen Netzwerk-Analysevorrichtung,
einem Router oder anderen Typen spezialisierter Hardware implementiert
werden.
-
2 ist
ein Flussdiagramm, das die Schritte zeigt, die vorzugsweise durch
die Vorrichtung durchgeführt
werden, um die Teilnetze zu identifizieren, die in einem Netzwerk
verwendet werden. In Schritt 201 identifiziert die Vorrichtung
die Netzwerk-Adressen von Hosts (Computersysteme und andere Netzwerkknoten)
in dem Netzwerk. Die Vorrichtung verwendet vorzugsweise eine Anzahl
von Verfahren zum Identifizieren von Host-Adressen einschließlich des a) passiven Abhörens der
auf dem Netzwerk ausgetauschten Pakete und des Ermitteln von Host-Netzwerkadressen
aus ihren Quellen- und Ziel-Adressfeldern;
b) des Erzeugens von Rundsende-Anforderungen, die dazu dienen, Ant worten
von den Hosts zu bekommen, die sie empfangen, einschließlich Rundsende-Pings und Rundsende-UDP-Echos,
und des Erfassens der Quellenadressen aus den Antworten; c) des
Sendens einer DHCP (Dynamic Host Configuration Protocol)-Anforderung und des
Erfassens von IP-Adressen aus den Antworten; und e) des Durchführens von
ARP (Address Resolution Protocol)-Scannen auf Adressen nahe an anderweitig
erfassten Host-Adressen (beispielsweise diejenigen, die den gleichen
24-Bit-Adresspräfix haben
wie diese). Der Fachmann weiß,
dass weitere Host-Adressen-Identifizierungsverfahren
ohne weiteres in Schritt 201 integriert werden könnten.
-
In
Schritt 202 konstruiert die Vorrichtung einen eigenen Teilnetz-Baum
auf Basis der identifizierten Host-Adressen. Ein Muster-Teilnetz-Baum,
der durch die Vorrichtung im Schritt 202 konstruiert wird und
weiter unten ausführlicher
erläutert
wird, ist in 4 dargestellt. In Schritt 203 ruft
die Vorrichtung eine "IdentifySubnet"-Routine an dem Wurzelknoten des
Teilnetz-Baums auf. Wie weiter unten ausführlicher im Zusammenhang mit 3 erläutert, ruft
die "IdentifySubnet"-Routine sich selbst
rekursiv auf, um jegliche Teilnetze zu identifizieren, die in dem
Netzwerk betrieben werden. Der Aufruf zu der "IdentifySubnet"-Routine in Schritt 203 kehrt
zurück,
wenn dieser Prozess abgeschlossen ist. An diesem Punkt sind die
Knoten des Teilnetz-Baums, die den identifizierten Teilnetzen entsprechen,
als Teilnetz-Knoten gekennzeichnet. In Schritt 204 zeigt
die Einrichtung für
jeden Knoten in dem Teilnetz-Baum, der als ein Teilnetz-Knoten gekennzeichnet
ist, an, dass ein Teilnetz in dem Netzwerk verwendet wird, das den Adressbereich
des Teilnetz-Knotens hat. Nach Schritt 204 werden die Schritte
abgeschlossen.
-
3 ist
ein Flussdiagramm, das die Schritte zeigt, die durch die Vorrichtung
vorzugsweise in der "IdentifySubnet"-Routine durchgeführt werden.
Die "IdentifySubnet"-Routine empfängt einen
Parameter, der einen "aktuellen
Knoten" des Teilnetz-Knotens identifiziert,
in dem die Analysen beginnen sollen. Beim ersten Aufruf der "IdentifySubnet"-Routine identifiziert der Parameter
den Wurzelknoten des Teilnetz-Baums. Bei folgenden Aufrufen identifiziert der
Parameter Knoten, die Nachfolger des Wurzelknotens sind.
-
In
Schritt 301 bestimmt die Vorrichtung die Anzahl von Nachfolgern
des aktuellen Knotens, die Vorgänger
von Blattknoten sind, die Host-Adressen darstellen. Wenn diese Zahl
0 beträgt,
kehrt die Vorrichtung zurück.
Wenn diese Zahl 1 beträgt,
fährt die Vorrichtung
in Schritt 301 fort, und wenn diese Zahl 2 beträgt, fährt die
Vorrichtung in Schritt 303 fort. In Schritt 302 läuft die
Vorrichtung von dem aktuellen Knoten zu dem einen Nachfolgerknoten
des aktuellen Knotens, der ein Vorgänger eines Blattknotens ist,
der eine Host-Adresse darstellt. Dieser Nachfolgerknoten wird der
neue aktuelle Knoten. Nach Schritt 302 fährt die
Vorrichtung in Schritt 301 fort. In Schritt 303 fährt die
Vorrichtung, wenn die Host-Adressen eine oder beide der zentralen
Adressen des Bereiches enthalten, der durch den aktuellen Knoten
dargestellt wird, in Schritt 304 fort und ansonsten fährt die
Vorrichtung in Schritt 305 fort. In Schritt 304 markiert
die Vorrichtung den aktuellen Knoten als einen Teilnetz-Knoten und
kehrt zurück.
In den Schritten 305–308 durchläuft die
Vorrichtung jede einer Anzahl von Host-Adressen an jeder Seite bzw.
benachbarten Hälfte
des durch den aktuellen Knoten dargestellten Bereiches. In Schritt 306 sendet die
Vorrichtung ein Test-Paket, das eine Antwort anfordert, zu der aktuellen
Host-Adresse von einer Source-Adresse auf der gegenüberliegenden
Seite des Bereiches. Obwohl die Vorrichtung vorzugsweise ein UDP-Echo-Paket
zu Port 7 des Hosts oder ein UDP-Paket zu Port 12345 des Hosts sendet,
können stattdessen
andere Pakete, die dazu dienen, Antworten zu erzeugen, eingesetzt
werden. In Schritt 307 stellt die Vorrichtung fest, ob
eine Antwort auf das in Schritt 306 gesendete Test-Paket
direkt von dem Host zu der Quellenadresse des Test-Paketes gesendet
wird. In Schritt 308 geht, wenn zusätzliche Host-Adressen verbleiben,
die Vorrichtung wieder zu Schritt 305 zurück, um die
nächste
Host-Adresse zu verarbeiten. In Schritt 309 fährt, wenn
der prozentuale Anteil von Antworten, die direkt zu der Quellenadresse
gesendet werden, einen vorgegebenen Schwellenwert, wie beispielsweise
80%, übersteigt, die
Vorrichtung in Schritt 304 fort, um den aktuellen Knoten
als einen Teilnetz-Knoten zu markieren, und ansonsten fährt die
Vorrichtung in Schritt 310 fort. In den Schritten 310 und 311 ruft
die Vorrichtung die "IdentifySubnet"-Routine an dem linken
bzw. dem rechten Nachfolger des aktuellen Knotens auf. Nach Schritt 311 enden
die Schritte.
-
4 ist
ein Datenstrukturschema, das einen Muster-Teilnetz-Baum zeigt. Der
Teilnetz-Baum ist
aus Knoten konstruiert, die einen Wurzelknoten 400, der
als ein Doppelkreis dargestellt ist, zwischen Knoten, wie beispielsweise
Knoten 401–412,
die als einfache Kreise dargestellt sind, und Blattknoten, wie beispielsweise
Knoten 413, 417, enthalten, die als Kästchen dargestellt
sind. Jeder Blattknoten stellt eine in dem Netzwerk identifizierte
Host-Adresse dar. Blattknoten 413 beispielsweise stellt
die Host-Adresse 208.152.24.18 dar. Jeder Zwischenknoten stellt einen
Teilbereich des gesamten Adressbereiches des Netzwerkes dar. Zwischenknoten 409 beispielsweise,
der in Schrägstrich-Schreibung
mit "208.152.24.16/30" gekennzeichnet ist,
stellt den Adressbereich 208.152.24.16–208.152.24.19 dar. Der Wurzelknoten 400,
der in Schrägstrich-Schreibweise
mit "0.0.0.0/0" gekennzeichnet ist,
stellt den gesamten Adressbereich des Netz werks dar, d. h. den Bereich
von "0.0.0.0–255.255.255.255". Obwohl der Teilnetz-Baum
ein vollständiger
binärer
Baum sein kann, in dem der Wurzelknoten und alle Zwischenknoten
zwei Nachfolger haben, "beschneidet" die Vorrichtung
vorzugsweise den Baum, um Blattknoten für Adressen, die keine Host-Adressen
sind, sowie Zwischenknoten zu entfernen, die keine Vorgänger von
Blattknoten sind, die eine Host-Adresse darstellen. Des Weiteren
werden, da es im Allgemeinen unmöglich
ist, dass ein Teilnetz nur zwei Knoten hat, die Zwischenknoten in
Tiefe 31 weggelassen, so dass die Blattknoten, die Host-Adressen
darstellen, sämtlich
Nachfolger von Zwischenknoten in Tiefe 30 sind. So sind beispielsweise
die Blattknoten 415, 416 und 417 sämtlich Nachfolger
von Zwischenknoten 412 in Tiefe 30.
-
Zusätzlich zum
Weglassen beschnittener Knoten, die keine Vorgänger von Blattknoten sind, die
Host-Adressen darstellen, lässt
der Teilnetz-Baum, der in 4 dargestellt
ist, aus Platzgründen
auch zusätzliche
Knoten einschließlich
Knoten, die zwischen Knoten 402 und 403 in Tiefen
zwischen 2 und 25 auftreten, und einige der Knoten weg, die Nachfolger
von Knoten 403 sind.
-
Beim
Analysieren des Netzwerkes durchläuft die Vorrichtung den Teilnetz-Baum,
um Knoten aufzusuchen, die zwei Nachfolger haben, die Vorgänger von
Blattknoten sind, die Host-Adressen darstellen. Bei dem beispielhaften
Teilbaum ist der erste dieser Knoten, auf die beim Durchlaufen von
dem Wurzelknoten 400 getroffen wird, Knoten 403,
dessen beide Kinder Vorgänger
von Blattknoten sind, die Host-Adressen darstellen, wie dies mit
den Hash-Markierungen auf den Kantensegmenten 403 angedeutet
ist, die Knoten 403 mit seinen Nachfolgern verbinden. Bei
dem Beispiel ergibt die Prüfung von
Knoten 403, dass Knoten 403 nicht als ein Teilnetz-Knoten
identifiziert wird. An diesem Punkt geht die Vorrichtung von dem
Knoten 403 zu Knoten 406, der ebenfalls zwei Nachfolger
hat, die beide Vorgänger
von Blattknoten sind, die Host-Adressen darstellen. Beim Durchführen des
Tests mit Knoten 406 stellt die Vorrichtung fest, ob die
zentralen Adressen in dem Bereich von Knoten 406 von Host-Adressen
eingenommen werden.
-
5 ist
ein Netzwerkadressen-Schema, das die Adressen in dem Bereich von
Knoten 406 zeigt, der in 4 dargestellt
ist. Tabelle 500 in 5 zeigt,
dass in dem Adressbereich von Knoten 406 208.152.24.16–208.152.24.31
die folgenden Adressen Host-Adressen
sind:
208.152.24.18
208.152.24.23
208.152.24.28
208.152.24.29
208.152.24.30
-
Von
den zentralen Adressen dieses Bereichs – 208.152.24.23 und 208.154.24.24 – ist 208.152.24.16.23
eine Host-Adresse. Die Vorrichtung identifiziert daher Knoten 406 als
einen Teilnetz-Knoten. Nach Markieren von Knoten 406 als
einen Teilnetz-Knoten geht die Vorrichtung zu Knoten 403 zurück und durchläuft seinen
rechten Ast nach unten zum nächstmöglichen
Teilnetz-Knoten.
-
Um
die Basis für
dieses Ergebnis weiter zu erläutern,
werden Teilbereiche 511–515 dargestellt. Von
diesen Teilbereichen entspricht Teilbereich 511 Knoten 406,
Teilbereich 512 entspricht Knoten 407, Teilbereich 513 entspricht
Knoten 408, Teilbereich 514 entspricht Knoten 409 und
Teilbereich 515 entspricht Knoten 410. Wie oben
zu sehen ist, stellte die Vorrichtung auf Basis der zentralen Adresse 208.152.24.23,
die eine Host-Adresse
ist, wie dies mit dem Kreis in Tabelle 500 dargestellt
ist, fest, dass ein Teilnetz in Teilbereich 511 arbeitet,
der Knoten 406 entspricht. Da bisher noch kein Teilnetz
für einen Bereich
identifiziert worden ist, der ein Überbereich von Bereich 511 ist,
muss die Host-Adresse 208.152.24.23 in einem Teilnetz liegen, das
den anderen Bereich 511, 512 oder Bereich 515 nutzt.
Da die Adresse 208.152.24.23 jedoch die größte Adresse in den Bereichen 512 und 515 ist,
kann sie nicht in einem Teilnetz liegen, das in einem von diesen
Bereichen arbeitet, da die große
Adresse in einem Teilnetzbereich im Allgemeinen nicht einem Host
zugewiesen werden kann. Diese Adresse muss daher Teil eines Teilnetzes
sein, das Bereich 511 verwendet.
-
6 ist
ein Netzwerkadressen-Schema, dessen Inhalt von dem in 4 dargestellten
Teilnetz-Baum abweicht, das der Erläuterung des zweiten Tests dient.
Beim Testen des Analogons von Knoten 406 in dem Teilbaum,
dem 6 entspricht (nicht dargestellt), stellt die Vorrichtung
in dem ersten Test fest, dass die zentralen Adressen in Bereich 603 keine
Host-Adressen sind. Die Vorrichtung geht daher zu dem zweiten Test über, in
dem sie Host-Adressen auf beiden Seiten von Bereich 603 auswählt, d.
h. Adressen in Bereich 601 und Adressen in Bereich 602.
Bei dem Beispiel werden die folgenden Host-Adressen ausgewählt:
208.152.24.18
208.152.24.20
208.152.24.22
208.152.24.27
208.152.24.28
208.152.24.29.
-
Die
Vorrichtung sendet dann, wie in Tabelle 610 dargestellt,
Test-Pakete zu jeder dieser sechs Host-Adressen. Für Host-Adressen
in Bereich 601 werden die Test-Pakete vorzugsweise von
der zentralen Adresse in Bereich 602, 208.152.24.24, gesendet.
Desgleichen werden für
Host-Adressen in Bereich 602 die Test-Pakete vorzugsweise
von der zentralen Adresse in Bereich 601, 208.152.24.23, gesendet.
Die Vorrichtung stellt fest, wie viele von diesen sechs Test-Paketen
Antworten direkt zu der Testpaket-Quellenadresse verursacht haben.
Wenn diese Zahl einen vorgegebenen Prozentsatz, wie beispielsweise
80%, übersteigt,
wird der Knoten für
Bereich 603 als ein Teilnetz-Knoten markiert. Da Hosts, die
auf verschiedenen Seiten von Teilbereich 603 liegen, versuchen,
direkt miteinander zu kommunizieren, statt zu versuchen, über einen
Router zu kommunizieren, betrachten diese Hosts sie als in dem gleichen
Teilnetz befindlich wie Hosts auf der anderen Seite des Bereiches
und müssen
daher in einem derartigen Teilnetz liegen.
-
Der
Fachmann versteht, dass die oben beschriebene Vorrichtung auf verschiedene
Weise angepasst oder erweitert werden könnte. Die Vorrichtung könnte beispielsweise
direkt an Betrieb in Netzwerken angepasst werden, die verschiedene
andere Adressierschemen verwenden. Die Vorrichtung könnte auch
zusätzliche
Verfahren zum Identifizieren von Host-Adressen verwenden. Des Weiteren
könnte die
Vorrichtung an die Verwendung unterschiedlicher Typen von Teilnetz-Bäumen, anderer
Durchlauf-Reihenfolgen oder nur eines der zwei Tests angepasst werden.
Weiterhin könnte
die Vorrichtung so angepasst werden, dass sie Teilnetze ohne Verwendung eines
Teilnetz-Baums identifiziert. Obwohl die oben stehende Beschreibung
auf bevorzugte Ausführungen
Bezug nimmt, wird der Schutzumfang der Erfindung lediglich durch
die folgenden Ansprüche
und die darin aufgeführten
Elemente definiert.