-
Diese Erfindung betrifft allgemein das automatische Erkennen des Adressbereichs von IP-(Internet-Protokoll-)Netzwerken. Es werden Verfahren, Vorrichtungen und Rechnerprogramme für das Erkennen des IP-Adressbereichs aus Daten über Netzwerkverkehr bereitgestellt sowie für das automatische Konfigurieren einer Einheit mit dem Adressbereich, um im Betrieb der Einheit eine Unterscheidung zwischen IP-Adressen innerhalb und außerhalb des Netzwerks zu gestatten. Es werden auch sich selbst konfigurierende Netzwerkeinheiten bereitgestellt, welche den Verkehr überwachen, den Netzwerkadressbereich erkennen und den Datenverkehr danach entsprechend verarbeiten.
-
In IP-Netzverbünden werden Einheiten in jedem Netzwerk eines TCP/IP-Netzwerksystems (Transport Control Protocol/Internet Protocol – Internetzugangsprotokoll) durch eindeutige IP-Adressen gekennzeichnet. Pakete werden auf der Grundlage von den IP-Adressen der Zieleinheit durch das Netzwerk geleitet. Gemäß dem derzeit in IP-Netzwerken verwendeten TCP/IP-System in der Version 4 werden IP-Adressen in Form von 32 Bit dargestellt, die normalerweise als vier durch Punkte getrennte Dezimalzahlen geschrieben werden. (Die zukünftige IP-Version 6 stellt 128 Bit für IP-Adressen bereit, wobei die zu beschreibenden Prozesse sonst aber entsprechend sind). Jede Dezimalzahl weist einen Wert zwischen 0 und 255 auf, bei dem es sich um den Dezimalwert einer der vier aufeinanderfolgenden acht Bit langen Segmente der 32-Bit-Adresse handelt. Tatsächlich besteht eine IP-Adresse aus zwei Teilen, wobei einer ein Netzwerk und der andere eine Einheit in diesem Netzwerk kennzeichnet. Die IP-Adressen von Einheiten in demselben Netzwerk weisen einen gemeinsamen Anfangsabschnitt auf. Dieser Anfangsabschnitt kennzeichnet das Netzwerk und legt praktisch den Adressbereich aller Einheiten in diesem Netzwerk fest. Das heißt, dass eine Einheit zu dem Netzwerk gehört, wenn ihre Adresse im Bereich von möglichen IP-Adressen mit dem entsprechenden Netzwerkadress-Präfix liegt. Ein Netzwerkadressbereich kann weiter unterteilt werden, wenn das Netzwerk in Teilnetze aufgeteilt ist. In diesem Fall wird ein weiterer Abschnitt der IP-Adresse als Teilnetzadresse verwendet. Die Netzwerkadresse legt dann gemeinsam mit der Teilnetzadresse den Adressbereich für Einheiten in dem Teilnetz fest, wobei die IP-Adresse jeder dieser Einheiten einen Anfangsabschnitt aufweist, der sowohl die Netzwerk- als auch die Teilnetzadresse aufweist.
-
Einheiten müssen aus einer Vielfalt an Gründen möglicherweise zwischen IP-Adressen innerhalb und außerhalb eines Netzwerks (bei dem es sich um ein Gesamtnetz oder ein Teilnetz handeln kann) unterscheiden. Netzwerkeinheiten müssen zum Beispiel gegebenenfalls einen zwischen Netzwerken stattfindenden Datenverkehr von vollständig in einem Intranet stattfindenden Datenverkehr filtern oder derartigen Datenverkehr aus diversen Klassifizierungsgründen unterscheiden. Derartige Filter- bzw. Klassifizierungsprozesse können zum Beispiel zur Sicherheit in Firewall- bzw. anderen Systemen, für eine Datenverkehrssteuerung auf der Grundlage von Regeln allgemein oder für eine Verkehrsüberwachung auf der Grundlage des Datenverkehrs angewendet werden. Im Falle einer Verkehrsüberwachung auf der Grundlage des Datenverkehrs kann es zum Beispiel notwendig sein, sich auf bestimmten Verkehr zu konzentrieren, wie zum Beispiel aus Netzwerk X gesendeten Verkehr, oder Internetverkehr von netzinternem Verkehr zu filtern, um lediglich Einzelheiten bestimmten Datenverkehrs aufzuzeichnen.
-
Derzeit werden Einheiten manuell konfiguriert, um zwischen IP-Adressen innerhalb und außerhalb eines Netzwerks zu unterscheiden. Das heißt, dass ein Betreiber den Adressbereich des betreffenden Netzwerks in sämtliche Einheiten wie Leitwegrechner, Vermittlungseinheiten bzw. andere Netzwerkeinheiten programmiert, die Datenverkehr entsprechend verarbeiten müssen. Dieser Prozess wird jedes Mal wiederholt, wenn sich Netzwerkadressen ändern, zum Beispiel wenn Netzwerksegmente auf Grund der Entwicklung des Netzwerks oder durch Umstrukturierung des Netzwerks hinzugefügt oder entfernt werden.
-
Ein Aspekt der vorliegenden Erfindung stellt ein Verfahren zum automatischen Erkennen des Adressbereichs für ein IP-Netzwerk bereit. Das Verfahren umfasst Folgendes:
Erfassen von Datenverkehrsdaten, die für jeden von einer Netzwerkeinheit über die Netzwerkgrenze hinweg geleiteten Datenverkehr die Quell- und/oder die Ziel-IP-Adressen des Datenverkehrs umfassen sowie (a) die jeweils andere Ziel- und/oder Quell-IP-Adresse und/oder (b) Richtungsdaten, welche die Flussrichtung über die Netzwerkgrenze hinweg anzeigen;
Erzeugen einer Baumdatenstruktur, welche die IP-Adressen in den Datenverkehrsdaten so darstellt, dass aufeinanderfolgende Verzweigungspunkte in einem Zweig des Baums aufeinanderfolgenden Abschnitten einer IP-Adresse zugehörig sind und IP-Adressen mit gemeinsamen Anfangsabschnitten in dem Baum mit mindestens einem gemeinsamen Verzweigungspunkt dargestellt werden;
Zuweisen von Gewichten zu Verzweigungspunkten in dem Baum in Abhängigkeit von der Auftrittshäufigkeit der dargestellten IP-Adressen in zumindest einer Teilmenge der Datenverkehrsdaten;
Erkennen des IP-Adressbereichs des Netzwerks durch Identifizieren des Verzweigungspunkts, dem der allen IP-Adressen in dem Netzwerk gemeine letzte Anfangsadressabschnitt zugehörig ist, in Abhängigkeit von den zugewiesenen Gewichten; und
automatisches Konfigurieren einer Einheit mit dem IP-Adressbereich, um im Betrieb der Einheit eine Unterscheidung zwischen IP-Adressen innerhalb und außerhalb des Netzwerks zu gestatten.
-
Diese Erfindung verkörpernde Verfahren können ein automatisches Erkennen des Adressbereichs eines IP-Netzwerks aus grundlegenden Datenverkehrsdaten ermöglichen, wobei eine Einheit automatisch mit dem Adressbereich konfiguriert werden kann, um im anschließenden Betrieb zwischen internen und externen IP-Adressen zu unterscheiden. Für den Betrieb können lediglich grundlegende Datenverkehrsdaten benötigt werden, die Datenverkehr betreffen, der von einer Netzwerkeinheit wie einer Vermittlungseinheit oder einem Leitwegrechner verarbeitet wird, welche die Netzwerkgrenze überquerenden Verkehr „sieht”. Die Datenverkehrsdaten werden mindestens für jeden Datenverkehr erfasst, den die Einheit über die Grenze hinweg in beide Richtungen leitet, d. h. Datenverkehr zwischen Netzwerken („internet”). Bevorzugte Ausführungsformen erfassen auch Datenverkehrsdaten für Datenverkehr, den die Netzwerkeinheit von innerhalb des Netzwerks erhält und zurück in das Netzwerk leitet, d. h. Datenverkehr in einem Intranet. In jedem Fall können die für jeden Datenverkehr ermittelten Datenverkehrsdaten Folgendes umfassen: entweder (1) die Quell- und Ziel-IP-Adressen für den Datenverkehr; oder (2) die Quell- und/oder Ziel-IP-Adressen für den Datenverkehr sowie Richtungsdaten, welche die Flussrichtung über die Netzwerkgrenze hinweg anzeigen. In letzterem Fall kann es sich bei den Richtungsdaten um irgendwelche Daten handeln, welche zwischen das Netzwerk verlassendem Datenverkehr (abgehendem Datenverkehr) und in das Netzwerk eintretendem Datenverkehr (eingehendem Datenverkehr) unterscheiden. So oder so wird eine Baumdatenstruktur erzeugt, um die IP-Adressen in den Datenverkehrsdaten darzustellen. In jedem beliebigen Zweig des Baums sind aufeinanderfolgende Verzweigungspunkte aufeinanderfolgenden Abschnitten einer IP-Adresse zugehörig und dadurch praktisch schrittweise schmaleren IP-Adressbereichen. IP-Adressen mit gemeinsamen Anfangsabschnitten, d. h. in einem gemeinsamen IP-Adressbereich liegend, teilen zumindest einen gemeinsamen Verzweigungspunkt. Dann werden den Baumknoten, wie weiter unten beschrieben, in Abhängigkeit von der Auftrittshäufigkeit der dargestellten IP-Adressen in zumindest einer Teilmenge der Datenverkehrsdaten Gewichte zugewiesen. Unter Verwendung dieser Gewichte kann der Verzweigungspunkt, dem der allen IP-Adressen in dem Netzwerk gemeine letzte Anfangsadressabschnitt zugehörig ist, in der Baumstruktur identifiziert werden. Hierdurch wird der IP-Adressbereich des Netzwerks bestimmt. Das wird dazu verwendet, eine Einheit automatisch mit dem erkannten Adressbereich zu konfigurieren, um im anschließenden Betrieb zwischen internen und externen IP-Adressen zu unterscheiden. Ausführungsformen der Erfindung bieten somit ein praktisches und wirksames System zum automatischen Konfigurieren von Adressbereichen. Das System kann ohne Weiteres in einer Vielfalt von Szenarien wie den oben erläuterten eingesetzt werden, wenn es notwendig ist, zwischen IP-Adressen innerhalb und außerhalb eines Netzwerks zu unterscheiden, wodurch die Notwendigkeit einer manuellen Konfiguration vermieden wird.
-
Je nach Anwendung kann es sich bei der mit der erkannten Netzwerkadresse konfigurierten Einheit um die Netzwerkeinheit handeln, die Datenverkehr verarbeitet, für welchen die Datenverkehrsdaten erfasst werden. Bestimmte Ausführungsformen stellen jedoch eine Selbstkonfigurierung einer derartigen Netzwerkeinheit durch Überwachen von Datenverkehr, Erkennen des Netzwerkadressbereichs und anschließendes Verarbeiten von Datenverkehr in Abhängigkeit des derart erkannten Adressbereichs bereit. Bei einer derartigen Einheit kann es sich um eine Vermittlungseinheit oder einen Leitwegrechner handeln, die/der eine Filterungs- bzw. Klassifizierungsfunktion durchführt, zum Beispiel das Klassifizieren von Datenverkehr für einen Datenverkehrsteuerungsprozess auf der Grundlage von Regeln wie das vorrangige Behandeln von internem im Vergleich zu externem Datenverkehr oder das Filtern von Datenverkehr für einen Überwachungsprozess auf der Grundlage des Datenverkehrs, in dem lediglich interner oder externer Datenverkehr analysiert werden muss. Einige Ausführungsformen können deshalb den Schritt der Überwachung von Datenverkehr in dem Netzwerk zum Erfassen der Datenverkehrsdaten enthalten. In anderen Ausführungsformen können die Datenverkehrsdaten aus von einer Netzwerkeinheit verarbeitetem Datenverkehr erfasst werden, wobei eine andere Einheit automatisch mit dem erkannten Adressbereich konfiguriert wird. Die Datenverkehrsdaten können direkt über die Netzwerkeinheit oder indirekt erfasst werden, z. B. durch Entnahme der benötigten Daten aus Netzwerkverkehrsdatensätzen. Tatsächlich können einige Ausführungsformen für die Offline-Analyse von Netzwerkverkehrsdatensätzen und insbesondere für das Vorfiltern von Verkehrsdatensatzdaten für Datenverkehr, der von Interesse ist, eingesetzt werden. Dies wird nachfolgend näher erläutert.
-
Die zur Darstellung von IP-Adressen in den Datenverkehrsdaten erzeugte Baumdatenstruktur kann eine Vielfalt von Formen annehmen, zum Beispiel je nach Bedarf auf der Grundlage von Präfix-Bäumen oder Radix- bzw. Patricia-Bäumen. Derartige Baumdatenstrukturen sind allgemein bestens bekannte Objekte mit Knoten und Kanten für die Darstellung von Abhängigkeiten in den nachfolgend beschriebenen Datenstrukturen. In Ausführungsformen der Erfindung hängen die den Verzweigungspunkten zugewiesenen Gewichte allgemein von der Auftrittshäufigkeit der dargestellten IP-Adressen in mindestens einem Abschnitt der Datenverkehrsdaten ab. Gewichte können zum Beispiel in Abhängigkeit von der Auftrittshäufigkeit einer IP-Adresse in den Datenverkehrsdaten als Ganzes zugewiesen werden oder je nach dem, ob die IP-Adresse in einer bestimmten Teilmenge der Datenverkehrsdaten auftritt, z. B. der sich nur auf eingehenden oder abgehenden Datenverkehr beziehenden Teilmenge. Allgemein können die bestimmten verwendeten Gewichtswerte und die Art, in der diese den Verzweigungspunkten zugewiesen werden, zum Beispiel in Abhängigkeit von dem Inhalt der Datenverkehrsdaten variieren, und auch die genaue Art, in welcher der IP-Adressbereich unter Verwendung dieser Gewichte identifiziert wird, kann entsprechend variieren. Nachfolgend werden verschiedene Beispiele beschrieben, um die einhergehenden Grundgedanken zu veranschaulichen.
-
Ein zweiter Aspekt der Erfindung stellt ein Rechnerprogramm bereit, das ein Programmcodemittel umfasst, das einen Rechner dazu veranlasst, ein Verfahren gemäß dem ersten Aspekt der Erfindung durchzuführen. Es wird darauf hingewiesen, dass der Begriff „Rechner” in seiner allgemeinsten Bedeutung verwendet wird und jede Einheit, jede Komponente und jedes System beinhaltet, das eine Datenverarbeitungsfähigkeit zur Ausführung eines Rechnerprogramms aufweist. Außerdem kann ein die Erfindung verkörperndes Rechnerprogramm ein unabhängiges Programm darstellen oder ein Element eines größeren Programms sein und zum Beispiel physisch auf einem durch einen Rechner lesbaren Medium wie einer Festplatte oder durch elektronische Übertragung zum Laden auf einen Rechner bereitgestellt werden. Das Programmcodemittel des Rechnerprogramms kann jeden beliebigen Ausdruck in jeder beliebigen Sprache, jedem beliebigen Code bzw. jeder beliebigen Schreibweise einer Reihe von Anweisungen umfassen, die einen Rechner zur Durchführung des betreffenden Verfahrens veranlassen, entweder direkt oder nach (a) Umwandlung in eine andere Sprache, einen anderen Code oder eine andere Schreibweise und/oder (b) Reproduktion in einer anderen Materialform.
-
Ein dritter Aspekt der Erfindung stellt eine Vorrichtung zum automatischen Erkennen des Adressbereichs für ein IP-Netzwerk bereit. Die Vorrichtung umfasst einen Speicher für das Speichern von Datenverkehrsdaten, die für jeden von einer Netzwerkeinheit über die Netzwerkgrenze hinweg geleiteten Datenverkehr die Quell- und/oder die Ziel-IP-Adressen des Datenverkehrs umfasst sowie (a) die jeweils andere Ziel- und/oder Quell-IP-Adresse und/oder (b) Richtungsdaten, welche die Flussrichtung über die Netzwerkgrenze hinweg anzeigen, und eine Steuerlogik, die so eingerichtet ist, dass sie:
eine Baumdatenstruktur erzeugt, welche die IP-Adressen in den Datenverkehrsdaten so darstellt, dass aufeinanderfolgende Verzweigungspunkte in einem Zweig des Baums aufeinanderfolgenden Abschnitten einer IP-Adresse zugehörig sind und IP-Adressen mit gemeinsamen Anfangsabschnitten in dem Baum mit mindestens einem gemeinsamen Verzweigungspunkt dargestellt werden;
Verzweigungspunkten in dem Baum in Abhängigkeit von der Auftrittshäufigkeit der dargestellten IP-Adressen in zumindest einer Teilmenge der Datenverkehrsdaten Gewichte zuweist;
den IP-Adressbereich des Netzwerks durch Identifizieren des Verzweigungspunkts, dem der allen IP-Adressen in dem Netzwerk gemeine letzte Anfangsadressabschnitt zugehörig ist, in Abhängigkeit von den zugewiesenen Gewichten erkennt; und
eine Einheit mit dem IP-Adressbereich konfiguriert, um im Betrieb der Einheit eine Unterscheidung zwischen IP-Adressen innerhalb und außerhalb des Netzwerks zu gestatten.
-
Ein vierter Aspekt der Erfindung stellt eine sich selbst konfigurierende Netzwerkeinheit für ein IP-Netzwerk bereit, wobei die Einheit in der Lage ist, Datenverkehr an der Netzwerkgrenze zu verarbeiten. Die Einheit umfasst einen Speicher und eine Steuerlogik, die so eingerichtet ist, dass sie:
den Datenverkehr überwacht, um Datenverkehrsdaten zu erfassen, die für zumindest jeden von der Einheit über die Netzwerkgrenze hinweg geleiteten Datenverkehr die Quell- und/oder die Ziel-IP-Adressen des Datenverkehrs umfassen sowie (a) die jeweils andere Ziel- und/oder Quell-IP-Adresse und/oder (b) Richtungsdaten, welche die Flussrichtung über die Netzwerkgrenze hinweg anzeigen:
die Datenverkehrsdaten in dem Speicher speichert;
eine Baumdatenstruktur erzeugt, welche die IP-Adressen in den Datenverkehrsdaten so darstellt, dass aufeinanderfolgende Verzweigungspunkte in einem Zweig des Baums aufeinanderfolgenden Abschnitten einer IP-Adresse zugehörig sind und IP-Adressen mit gemeinsamen Anfangsabschnitten in dem Baum mit mindestens einem gemeinsamen Verzweigungspunkt dargestellt werden;
Verzweigungspunkten in dem Baum in Abhängigkeit von der Auftrittshäufigkeit der dargestellten IP-Adressen in zumindest einer Teilmenge der Datenverkehrsdaten Gewichte zuweist;
den IP-Adressbereich des Netzwerks durch Identifizieren des Verzweigungspunkts, dem der allen IP-Adressen in dem Netzwerk gemeine letzte Anfangsadressabschnitt zugehörig ist, in Abhängigkeit von den zugewiesenen Gewichten erkennt; und
die Einheit mit dem IP-Adressbereich so konfiguriert, dass sie den Datenverkehr in Abhängigkeit von dem IP-Adressbereich verarbeiten kann.
-
Im Allgemeinen können, wenn hierin Eigenschaften in Bezug auf eine Ausführungsform eines Aspekts der Erfindung beschrieben werden, entsprechende Eigenschaften auch in Ausführungsformen eines anderen Aspekts der Erfindung bereitgestellt werden.
-
Bevorzugte Ausführungsformen der Erfindung werden nun beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Es zeigen:
-
1 ein schematisches Blockschaltbild einer die Erfindung verkörpernden, sich selbst konfigurierenden Netzwerkeinheit;
-
2 Hauptschritte des Selbstkonfigurierungsprozesses in der Einheit aus 1;
-
3 ein beispielhaftes Netzwerksystem, für welches zwei Verfahren zum Erkennen eines Adressbereichs zur Verwendung in dem Selbstkonfigurierungsprozess aus 2 beschrieben werden;
-
4 eine in dem ersten Adressbereichs-Erkennungsprozess erzeugte Baumdatenstruktur; und
-
5 eine in dem zweiten Adressbereichs-Erkennungsprozess erzeugte Baumdatenstruktur.
-
1 ist eine vereinfachte schematische Darstellung einer die Erfindung verkörpernden Netzwerkeinheit, in der die in dem zu beschreibenden Prozess beteiligten Hauptkomponenten gezeigt werden. In diesem Beispiel handelt es sich bei der Netzwerkeinheit um einen Leitwegrechner 1 an der Grenze eines lokalen Netzwerks 2. Der Leitwegrechner 1 enthält die üblichen Netzwerkschnittstellen (IFs) sowie Vermittlungsschaltungen, allgemein bei 3 gezeigt, zum Leiten von Datenverkehr zwischen Einheiten in dem lokalen Netzwerk 2 und zum Weiterleiten von Datenverkehr über die Netzwerkgrenze hinweg zwischen dem Netzwerk 2 und einem oder mehreren externen Netzwerken, allgemein bei 4 gezeigt. Der Leitwegrechner 1 enthält auch eine Steuerlogik, die durch die Steuereinheit 5 in der Figur dargestellt wird. Die Steuereinheit 5 enthält die übliche Leitwegrechnerlogik zur Steuerung des Betriebs des Leitwegrechners allgemein. Außerdem enthält die Steuereinheit 5 eine zusätzliche Steuerlogik, die in der Figur durch ein Filtermodul 6 und einen Adressbereichsdetektor 7 dargestellt ist und zusätzliche Funktionalität bereitstellt. Insbesondere verkörpert der Leitwegrechner 1 ein sich selbst konfigurierendes, durch die Logikmodule 6 und 7 gesteuertes Verkehrsfilter zum Filtern von Datenverkehr als Teil eines in dem lokalen Netzwerk 2 betriebenen Netzwerküberwachungssystems. Im Allgemeinen könnte die Steuerlogik der Steuereinheit 5 in Hardware, Software oder einer Kombination daraus realisiert werden. In diesem Beispiel ist die Steuerlogik jedoch durch Software realisiert, die einen Prozessor des Leitwegrechners 1 so konfiguriert, dass er die beschriebenen Funktionen ausführt. Geeignete Software erschließt sich einem Fachmann aus der hierin enthaltenen Beschreibung. Der Leitwegrechner 1 beinhaltet ferner den Speicher 8 zum Speichern verschiedener Daten, die, wie nachfolgend beschrieben, im Betrieb des Leitwegrechners erzeugt werden.
-
Im Betrieb des Netzwerksystems leitet der Leitwegrechner 1 von dem lokalen Netzwerk 2 oder dem externen Netzwerk 4 empfangenen Datenverkehr auf die übliche Weise gemäß dem TCP/IP-Netzwerkprotokoll. Außerdem ist das Filter 6 so eingerichtet, dass es Datenverkehr filtern und Einzelheiten über den lokalen Netzwerkverkehr zum Zweck der Netzwerküberwachung aufzeichnen kann. Insbesondere hat das Filter 6 Zugriff auf den gesamten durch den Leitwegrechner 1 verarbeiteten Datenverkehr und ist so konfiguriert, dass es Internet-Datenverkehr (d. h. durch den Leitwegrechner 1 über die Grenze des lokalen Netzwerks 2 hinweg geleiteten Datenverkehr) herausfiltert und Einzelheiten über den restlichen Datenverkehr als Verkehrsdaten in Speicher 8 aufzeichnet. Folglich ist das Filter 6 so eingerichtet, dass es lediglich Einzelheiten über lokalen, internen Datenverkehr aufzeichnet, d. h. von dem Leitwegrechner 1 aus einer Quelleinheit in dem lokalen Netzwerk 2 empfangenen und zurück an eine Zieleinheit in dem Netzwerk 2 geleiteten Datenverkehr. Die im Speicher 8 aufgezeichneten Verkehrsdaten werden periodisch an ein Netzwerküberwachungssystem (nicht gezeigt) in Netzwerk 2 übertragen, welches Verkehrsdatensätze für das Netzwerk 2 allgemein zusammenführt und pflegt. Das Filter 6 kann auf einer bekannten Filterstruktur wie Iptables beruhen und so eingerichtet sein, dass es alle gewünschten Verkehrsdaten wie Quell- und Ziel-IP-Adressen, Quell- und Zielanschlussnummern, die Anzahl an übertragenen Paketen, die Verbindungszeit usw. aufzeichnet. Die Verkehrsdatensätze können gesammelt und allgemein an das Netzwerküberwachungssystem gemäß bekannter Techniken wie tcpdump, das Netzwerkprotokoll NetFlow oder über den Standard Internet Protocol Flow Information Export (IPFIX) der IETF (Internet Engineering Task Force) weitergeleitet werden.
-
Wesentlich für den Betrieb des Filters 6 ist die Fähigkeit, zwischen IP-Adressen in dem lokalen Netzwerk 2 und denen in dem externen Netzwerk 4 zu unterscheiden. Deshalb ist der Leitwegrechner 1 mit dem IP-Adressbereich des Netzwerks 2 konfiguriert. Der Adressbereich wird hier durch das allen Einheiten in dem Netzwerk 2 gemeine Netzwerkadress-Präfix festgelegt, das gemeinsam mit der Teilnetz-Bit-Maske, welche die bestimmten Bits angibt, die in IP-Adressen auf Übereinstimmung mit dem Netzwerkadress-Präfix untersucht werden, in Speicher 8 gespeichert ist. Das Filter 6 unterscheidet somit zwischen internen und externen IP-Adressen durch Vergleichen der relevanten Bits einer Adresse mit dem in Speicher 8 festgelegten Adress-Präfix.
-
Bei erstmaliger Verbindung mit dem Netzwerksystem muss der Leitwegrechner 1 mit dem entsprechenden Adressbereich für sein lokales Netzwerk 2 konfiguriert werden, und dies muss bei Bedarf aktualisiert werden, wenn sich das Netzwerk entwickelt bzw. nach einer periodischen Umstrukturierung. In dieser Ausführungsform wird der Leitwegrechner 1 in einer Lernbetriebsart betrieben, in welcher er den Adressbereich seines lokalen Netzwerks als Teil eines Selbstkonfigurierungsprozesses erkennt. Die Lernbetriebsart wird bei Aktivierung des Leitwegrechners 1 in dem System automatisch initiiert. Die Hauptschritte des folgenden Selbstkonfigurierungsprozesses sind in dem Ablaufplan in 2 angegeben.
-
Nach Beginn der Lernbetriebsart in Schritt 10 in 2 fährt der Prozess mit Schritt 11 fort, in welchem die Filterlogik 6 so arbeitet, dass sie den gesamten durch den Leitwegrechner 1 verarbeiteten Datenverkehr überwacht. Dies beinhaltet sowohl Internet-Datenverkehr, der über die Grenze des lokalen Netzwerks 2 hinweg geleitet wird, als auch internen Datenverkehr, der von innerhalb des Netzwerks 2 empfangen und zurück in das Netzwerk 2 geleitet wird. Für jeden Datenverkehr entnimmt das Filter 6 vorbestimmte Datenverkehrsdaten und speichert die Datenverkehrsdaten in dem Speicher 8. Der Inhalt dieser Datenverkehrsdaten hängt von dem bestimmten durchzuführenden Adressbereichs-Erkennungsverfahren ab, enthält aber mindestens die Quell- und/oder Ziel-IP-Adressen jedes Datenverkehrs.
-
Spezifische Beispiele für Datenverkehrsdaten und verschiedene diese Daten verwendende Adressbereichs-Erkennungsverfahren werden nachfolgend genau beschrieben. Nachdem eine ausreichende Menge von Datenverkehrsdaten erfasst wurden, z. B. nach einer vorbestimmten Betriebsdauer, fährt der Prozess mit Schritt 12 fort. In diesem Schritt analysiert der Adressbereichsdetektor 7 die Datenverkehrsdaten und erzeugt eine Baumdatenstruktur, welche die IP-Adressen in den Datenverkehrsdaten darstellt. In diesem Beispiel ist die erzeugte Struktur ein Präfix-Baum, und die Darstellung von IP-Adressen in einem derartigen Baum wird in den folgenden Beispielen erklärt. Als Nächstes weist der Detektor 7 in Schritt 13 Verzweigungspunkten in dem Präfix-Baum Gewichte zu. Die Gewichte werden in Abhängigkeit von der Auftrittshäufigkeit der dargestellten IP-Adressen in allen bzw. einer vorbestimmten Teilmenge der Datenverkehrsdaten zugewiesen, wie nachfolgend genauer beschrieben wird. Der sich daraus ergebende Baum wird dann in Schritt 14 von dem Detektor 7 analysiert. Nachfolgend werden Beispiele dieses Analysierverfahrens beschrieben, aber in jedem Fall nutzt die Analyse die den Verzweigungspunkten in dem Präfix-Baum zugewiesenen Gewichte, um das gemeinsame Adress-Präfix aller IP-Adressen in dem lokalen Netzwerk 2 zu identifizieren.
-
Hierdurch wird der Adressbereich für das Netzwerk 2 festgelegt, und das sich daraus ergebende Präfix sowie die Teilnetzmaske werden in Schritt 15 in Speicher 8 gespeichert.
-
Dann wird die Lernbetriebsart beendet, und der normale Filterprozess beginnt, wobei für den Filterprozess das in Speicher 8 gespeicherte Adress-Präfix verwendet wird, um zwischen internen und externen IP-Adressen und somit zwischen lokalem und Internet-Datenverkehr zu unterscheiden.
-
3 zeigt ein einfaches Netzwerksystem, für welches der Prozess zweier Adressbereichs-Erkennungsverfahren in dem Selbstkonfigurierungsprozess aus
2 beschrieben wird. Das gezeigte System enthält ein Firmennetzwerk C, das zwei als Standort A bzw. Standort B bezeichnete Teilnetze enthält. Bei Standort A handelt es sich um das lokale Netzwerk des Leitwegrechners
1. Das Internet (I) in der Figur stellt alle Netzwerke dar, die sich außerhalb des Firmennetzwerks C befinden. Zum Zwecke der Veranschaulichung nehmen wir an, dass der Leitwegrechner
1 während der Lernbetriebsart des Filters
6 in Schritt
11 aus
2 die folgende einfache Folge von Datenverkehr verarbeitet:
Quelladresse | Zieladresse | Art |
9.4.8.2 | 128.178.12.34 | Vorwärts-Internet-Verkehr (A zu I) |
128.178.12.34 | 9.4.8.2 | Rückwärts-Internet-Verkehr (I zu A) |
128.111.10.59 | 9.4.1.2 | Internet zu Web-Server (I zu A) |
9.4.1.2 | 128.111.10.59 | Antwortan Internet (A zu I) |
9.3.3.3 | 9.4.1.2 | Anfrage zwischen den Standorten (B zu A) |
9.4.1.2 | 9.3.3.3 | Antwort zwischen den Standorten (A zu B) |
9.4.8.2 | 9.4.1.2 | Lokaler Verkehr (A zu A) |
9.4.1.2 | 9.4.8.2 | Lokaler Verkehr (A zu A) |
-
In dem ersten Adressbereichs-Erkennungsverfahren bestehen die von dem Filter 6 in Schritt 11 aus 2 gespeicherten Datenverkehrsdaten aus der Quell- und Ziel-IP-Adresse jedes während der Lernphase überwachten Datenverkehrs. In Schritt 12 erzeugt der Detektor 7 einen Präfix-Baum, in dem jede der IP-Adressen in den Datenverkehrsdaten auf übliche Weise durch Knoten und Kanten dargestellt wird. 4 stellt den für die oben aufgeführten IP-Adressen erzeugten Präfix-Baum dar. In der Figur ist jeder Verzweigungspunkt beschriftet, um den Anfangsabschnitt der IP-Adresse anzugeben, d. h. das Adress-Präfix, das er darstellt, wobei das restliche IP-Adressenformat mit Nullen aufgefüllt wird. Die Zahl nach dem am Ende des Adressformats gibt die Länge der Bit-Maske für das für jeden Verzweigungspunkt festgelegte Adress-Präfix an.
-
Folgt man dem linken Zweig von dem Wurzelknoten aus (eigentlich ein fiktiver Knoten, der einheitlich mit 0.0.0.0/0 beschriftet ist), ist der erste Verzweigungspunkt somit mit 9.0.0.0/8 beschriftet und stellt ein Adress-Präfix dar, das einem ersten 8-Bit-Byte mit Dezimalwert 9 entspricht. Der nächste Verzweigungspunkt ist dem Präfix des Elternknotens (parent node) und einem zweiten Byte mit Dezimalwert 4 zugehörig und stellt das 16-Bit-Adress-Präfix 9.4. dar. Der letzte Verzweigungspunkt ist wiederum dem Präfix seines Elternknotens sowie einem dritten Byte mit Dezimalwert 1 zugehörig und stellt das 24-Bit-Adress-Präfix 9.4.1. dar.
-
Somit sind aufeinanderfolgenden Verzweigungspunkten in einem Zweig des Baums aufeinanderfolgende Abschnitte einer IP-Adresse zugehörig und sie stellen schrittweise schmalere IP-Adressbereiche dar. Alle IP-Adressen in den Datenverkehrsdaten werden durch Zweige in dem Baum dargestellt, wobei Adressen mit einem gemeinsamen Präfix die entsprechenden Anfangsknoten teilen. Ein Zweig endet, wenn er ausreichend viele Verzweigungspunkte enthält, um eine eindeutige IP-Adresse in den Datenverkehrsdaten zu unterscheiden.
-
In diesem ersten Verfahren läuft die Gewichtung der Baumknoten durch Detektor 7 (Schritt 13 in 2) wie folgt ab. Ein Zähler an den Blättern des Baums (d. h. an den Enden der Zweige), die jeweils der Quell- und der Ziel-IP-Adresse entsprechen, wird für jeden während der Lernphase überwachten Datenverkehr um 1 erhöht. Die sich ergebenden Zählwerte entsprechen somit der Auftrittshäufigkeit der durch jeden Zweig in den Datenverkehrsdaten dargestellten, für den überwachten Datenverkehr ermittelten IP-Adresse. Die für dieses Beispiel ermittelten Zählwerte sind in der Zeile mit Zahlen unten in 4 angegeben. Als Nächstes beginnt der Adressdetektor 7 bei den Blättern des Baums und addiert während des Fortschreitens in Richtung des Wurzelknotens die Blattanzahl zu einem (auf Null initialisierten) jedem Knoten in dem Zweig zugehörigen Gewicht. Alternativ könnten die Gewichte der Verzweigungspunkte mit etwas mehr Speicheraufwand gleichzeitig mit den Blattzählern und nicht in einem eigenen Schritt erhöht werden. In jedem Fall erhält jeder Elternknoten ein Gewicht, das dem kombinierten Gewicht seiner Kindknoten (child nodes) entspricht, d. h. dem Gewicht des Teilbaums ab diesem Elternknoten. Ganz oben am Baum angekommen stellt das dem Wurzelknoten zugewiesene Gewicht das Gewicht des gesamten Baums dar. Die sich ergebenden Gewichte sind über jedem Verzweigungspunkt in der Figur angegeben. Betrachtet man diese Knotengewichte, so zeigt sich, dass jedem einem bestimmten Abschnitt einer IP-Adresse zugehörigen Verzweigungspunkt tatsächlich ein Gewicht zugewiesen wird, das proportional zu der Auftrittshäufigkeit des zugehörigen Adressabschnitts in den IP-Adressen in den Datenverkehrsdaten ist.
-
Der von Detektor
7 durchgeführte Prozess zur Identifizierung des lokalen Netzwerkadressbereichs durch den gewichteten Baum (Schritt
14 in
2) wird durch den folgenden Algorithmus ausgedrückt:
-
Unter Verwendung dieses Algorithmus kann der Detektor 7 den ersten Verzweigungspunkt in dem Zweig nach den schwersten Verzweigungspunkten (l) ab dem Wurzelknoten identifizieren, der nicht mehr als die Hälfte des Gewichts des gesamten Baums wiegt. Der Elternknoten (L) ist dann die Wurzel des das lokale Netzwerk 2 darstellenden Teilbaums. Somit folgt der Algorithmus praktisch dem Baum abwärts und wählt immer den Teilbaum mit dem höchsten Gewicht aus. Sobald er einen Teilbaum erreicht, der nicht mehr als die Hälfte des Gewichts des gesamten Baums wiegt, befindet sich dieser Teilbaum innerhalb des lokalen Netzwerks 2. Der Elternknoten dieses Teilbaums ist der Wurzelknoten L des das lokale Netzwerk darstellenden Teilbaums. Bei diesem Verzweigungspunkt L handelt es sich um den Verzweigungspunkt, dem der letzte Anfangsadressabschnitt (hier das 8-Bit-Byte) zugehörig ist, der allen IP-Adressen in dem lokalen Netzwerk 2 gemein ist, und er stellt somit das Adress-Präfix des lokalen Netzwerks dar. Folglich legt das dem Verzweigungspunkt L zugehörige Adress-Präfix den Adressbereich des lokalen Netzwerks fest. Wendet man diese Analyse auf den Baum in 4 an, kann man den Verzweigungspunkt mit Gewicht 10 als Verzweigungspunkt L identifizieren, wobei das lokale Netzwerk 2 durch den Kreis in der Figur eingegrenzt wird. Der Adressbereich von Netzwerk 2 ist somit durch das 16-Bit-Adress-Präfix 9.4. festgelegt.
-
Die Begründung für das obige Verfahren lautet wie folgt. Bei Internet-Datenverkehr befinden sich die Quell- bzw. Ziel-IP-Adresse innerhalb des lokalen Netzwerks 2 und die jeweils andere Adresse außerhalb. Bei lokalem Datenverkehr befinden sich beide Adressen in dem Netzwerk 2. Nimmt man wie hier an, dass während der Lernphase sowohl lokaler als auch Internet-Datenverkehr überwacht werden, muss die Auftrittshäufigkeit von IP-Adressen in dem lokalen Netzwerk 2 in den Datenverkehrsdaten größer sein als die Auftrittshäufigkeit von IP-Adressen außerhalb des Netzwerks 2. Das heißt, dass IP-Adressen in dem lokalen Netzwerk 2 mehr als die Hälfte der Auftrittshäufigkeit von IP-Adressen in den Datenverkehrsdaten darstellen. Man beachte, dass die Auftrittshäufigkeit von internen und externen IP-Adressen gleich ist, wenn während der Lernphase kein lokaler Datenverkehr überwacht wird, d. h., es wird lediglich Internet-Datenverkehr überwacht. Anders ausgedrückt, IP-Adressen stellen in dem lokalen Netzwerk 2 genau die Hälfte der Auftrittshäufigkeit von IP-Adressen in den Datenverkehrsdaten dar. Mit obigem Verfahren wird das lokale Netzwerk jedoch noch immer korrekt identifiziert, vorausgesetzt, der Präfix-Baum besteht nicht aus genau zwei benachbarten Teilbäumen mit demselben (Maximal-)Gewicht. Obwohl dieses einfache Verfahren für viele Szenarien geeignet sein kann, überwindet das nachfolgende zweite Adressbereichs-Erkennungsverfahren dieses soeben beschriebene mögliche Problem mit einem „ausgeglichenen Baum”, insbesondere wenn sowohl interner als auch Internet-Datenverkehr überwacht wird.
-
In dem zweiten Verfahren enthalten die von dem Filter 6 in Schritt 11 aus 2 gespeicherten Datenverkehrsdaten lediglich die Ziel-IP-Adresse jedes während der Lernphase überwachten Datenverkehrs. Die Datenverkehrsdaten enthalten ebenfalls Richtungsdaten für jeden Datenverkehr. Diese Richtungsdaten zeigen für jeden Internet-Datenverkehr die Flussrichtung über die Grenze des lokalen Netzwerks 2 hinweg an, d. h., ob es sich bei dem Datenverkehr um eingehenden (in das Netzwerk 2 eintretenden) Datenverkehr oder abgehenden (das Netzwerk 2 verlassenden) Datenverkehr handelt. Diese Daten können erfasst werden, indem die bestimmten Schnittstellen, über die Datenpakete an dem Leitwegrechner 1 eintreten und diesen verlassen, überwacht werden, und sie werden zum Beispiel durch das NetFlow-Richtungsfeld bereitgestellt. In diesem Beispiel kategorisieren die Richtungsdaten internen Datenverkehr sowohl als eingehend als auch als abgehend. In Schritt 12 erzeugt Detektor 7 einen Präfix-Baum, der die IP-Adressen in den Datenverkehrsdaten darstellt, hier die Quell-IP-Adressen für den oben aufgeführten überwachten Datenverkehr. Dieser Baum wird, wie oben für das erste Verfahren beschrieben, erzeugt und ist in 5 gezeigt.
-
Die Gewichtung der Baumknoten durch Detektor
7 (Schritt
13 in
2) läuft in dem zweiten Verfahren wie folgt ab. Für jeden während der Lernphase überwachten Datenverkehr wird ein Zähler an dem Blatt des Baums, das der Quell-IP-Adresse für den Datenverkehr entspricht, um +1 inkrementiert, wenn es sich bei dem Datenverkehr um abgehenden Datenverkehr handelt, und um –1, wenn es sich bei dem Datenverkehr um eingehenden Datenverkehr handelt. Da interner Datenverkehr in diesem Beispiel sowohl als eingehend als auch als abgehend kategorisiert wird, wird der Zähler in diesem Fall um +1 und –1 inkrementiert, woraus sich ein Netto-Inkrement von Null ergibt. Die dem hier überwachten Datenverkehr zugehörigen Zählwerte lauten wie folgt:
Quelladresse | Art | Richtung | Zählwe rt |
9.4.8.2 | Vorwärts-Internet-Verkehr (A zu I) | Abgehend | +1 |
128.178.12.34 | Rückwärts-Internet-Verkehr (I zu A) | Eingehend | –1 |
128.111.10.59 | Internet zu Web-Server (I zu A) | Eingehend | –1 |
9.4.1.2 | Antwort an Internet (A zu I) | Abgehend | +1 |
9.3.3.3 | Anfrage zwischen den Standorten (B zu A) | Eingehend | –1 |
9.4.1.2 | Antwort zwischen den Standorten (A zu B) | Abgehend | +1 |
9.4.8.2 | Lokaler Verkehr (A zu A) | Abgehend/Eingehend | ±1 |
9.4.1.2 | Lokaler Verkehr (A zu A) | Abgehend/Eingehend | ±1 |
-
Die für dieses Beispiel ermittelten Zählwerte sind in der Zeile mit Zahlen unten in 5 angegeben. Ein positiver Zählwert stellt hier die Auftrittshäufigkeit der durch den Zweig dargestellten Quell-IP-Adresse in der Teilmenge der Datenverkehrsdaten dar, die dem abgehenden Datenverkehr entspricht. Ein negativer Zählwert stellt hier die Auftrittshäufigkeit der durch den Zweig dargestellten Quell-IP-Adresse in der Teilmenge der Datenverkehrsdaten dar, die dem eingehenden Datenverkehr entspricht. Wie zuvor beginnt der Adressdetektor 7 dann bei den Blättern des Baums und addiert während des Fortschreitens in Richtung des Wurzelknotens die Blattanzahl zu einem (auf Null initialisierten) jedem Knoten in dem Zweig zugehörigen Gewicht. (Wiederum könnten die Gewichte der Verzweigungspunkte, falls bevorzugt, gleichzeitig mit den Blattzählern inkrementiert werden). Jeder Elternknoten erhält somit ein Gewicht, das dem kombinierten Gewicht seiner Kindknoten entspricht, d. h. dem Gewicht des Teilbaums ab diesem Elternknoten, und das dem Wurzelknoten zugewiesene Gewicht stellt das Gewicht des gesamten Baums dar. Betrachtet man die sich ergebenden Knotengewichte, so zeigt sich, dass: jedem einem bestimmten Abschnitt einer IP-Adresse in der Teilmenge von abgehendem Datenverkehr zugehörigen Verzweigungspunkt ein Gewicht mit positiver Polarität zugewiesen wird, das proportional zu der Auftrittshäufigkeit des zugehörigen Adressabschnitts in dieser Teilmenge ist; und jedem einem Abschnitt einer IP-Adresse in der Teilmenge von eingehendem Datenverkehr zugehörigen Verzweigungspunkt (d. h. nicht in der Teilmenge abgehenden Datenverkehrs enthalten) ein Gewicht mit entgegengesetzter Polarität zugewiesen wird, das proportional zu der Auftrittshäufigkeit des zugehörigen Adressabschnitts außerhalb der Teilmenge von abgehendem Datenverkehr ist.
-
Zur Identifizierung des lokalen Netzwerkadressbereichs durch den gewichteten Baum (Schritt 14 in 2) führt der Detektor 7 den folgenden Algorithmus aus:
- 1. – beginne bei dem Wurzelknoten
- 2. – wähle den Kindknoten mit positivem Gewicht aus (alle anderen sind definitionsgemäß negativ)
- 3. – wiederhole 2 bis mehr als ein Teilbaum mit positivem Gewicht gefunden wurde.
-
Der aktuelle Verzweigungspunkt (L) ist dann die Wurzel des das lokale Netzwerk 2 darstellenden Teilbaums. Bei diesem Verzweigungspunkt L handelt es sich wiederum um den Verzweigungspunkt, dem der letzte Anfangsadressabschnitt (hier das 8-Bit-Byte) zugehörig ist, der allen IP-Adressen in dem lokalen Netzwerk 2 gemein ist, und er stellt somit das Adress-Präfix des lokalen Netzwerks dar. Somit ist ersichtlich, dass der IP-Adressbereich des Netzwerks durch Identifizierung des ersten Verzweigungspunkts in einem sich von dem Wurzelknoten des Baums ausbreitenden Zweig erkannt wird, der einem IP-Adressabschnitt in der Teilmenge von abgehendem Datenverkehr zugehörig ist und mehr als einen Kindknoten aufweist, der einem IP-Adressabschnitt in dieser Teilmenge zugehörig ist. Wendet man diese Analyse auf den Baum in 5 an, kann man den Verzweigungspunkt mit Gewicht +3 als Verzweigungspunkt L identifizieren, wobei das lokale Netzwerk 2 durch den Kreis in der Figur eingegrenzt wird. Wie zuvor wird der Adressbereich von Netzwerk 2 somit durch das 16-Bit-Adress-Präfix 9.4. identifiziert.
-
Die Begründung für das zweite Verfahren lautet wie folgt. Bewegt man sich von der Wurzel aus durch den Baum, so bewegt man sich in Richtung des lokalen Netzwerks, solange man sich in einem Teilbaum mit positivem Gewicht befindet (d. h., die Quell-IP-Adresse steht für abgehenden Datenverkehr). Sobald man die Teilbäume nicht mehr durch dieses Kriterium unterscheiden kann, hat man sich dem Wurzelknoten des lokalen Netzwerks angenähert.
-
Beide der oben beschriebenen Verfahren funktionieren nachweislich gut mit Abtasten des Datenverkehrs. Es sei jedoch bemerkt, dass die Gewichtung in jedem Fall unterschiedlich durchgeführt werden könnte, vorausgesetzt, man befolgt die zu Grunde liegenden Grundgedanken, die eine Identifizierung des Wurzelknotens des lokalen Netzwerks gestatten. In obigem zweiten Verfahren dienen die Gewichte zum Beispiel hauptsächlich dazu, eingehenden und abgehenden Datenverkehr zu unterscheiden. Falls gewünscht, muss somit interner Datenverkehr nicht berücksichtigt bzw. überhaupt nicht überwacht werden. Des Weiteren könnte jedes beliebige Gewichtungssystem verwendet werden, das die IP-Adressen für eingehenden und abgehenden Datenverkehr unterscheidet. Gewichte (bei denen es sich um einen einfachen Bit-Merker handeln könnte) könnten zum Beispiel lediglich den Quelladressen für abgehenden Datenverkehr zugewiesen werden, wodurch Adressen für eingehenden Datenverkehr ungewichtet (ungekennzeichnet) blieben. Schritt 2 des obigen Algorithmus würde dann einfach gewichteten (gekennzeichneten) Kindknoten folgen. Wenn Quell-IP-Adressen in dem Baum dargestellt werden, können im Allgemeinen Verzweigungspunkten Gewichte in Abhängigkeit von der Auftrittshäufigkeit der dargestellten IP-Adressen in einer Teilmenge der Datenverkehrsdaten zugewiesen werden, die dem abgehenden Datenverkehr entspricht. Dieselben Grundgedanken könnten auch unter Verwendung von Zieladressen für überwachten Datenverkehr angewendet werden. Das heißt, die Datenverkehrsdaten könnten die Ziel-IP-Adresse jedes überwachten Datenverkehrs gemeinsam mit den Richtungsdaten, wie zuvor, umfassen. Verzweigungspunkten in dem Baum könnten dann Gewichte in Abhängigkeit von der Auftrittshäufigkeit der dargestellten IP-Adressen in einer Teilmenge der Datenverkehrsdaten zugewiesen werden, die dem eingehenden Datenverkehr entspricht.
-
Es ist ersichtlich, dass die oben beschriebenen Ausführungsformen eine automatische Selbstkonfigurierung des Adressbereichs des lokalen Netzwerks in dem Leitwegrechner 1 zur Verwendung in dem nachfolgenden Filterprozess gestatten.
-
Die Lernbetriebsart kann bei erstmaliger Installation des Leitwegrechners oder bei Installation der Filterfunktionalität in einem vorinstallierten Leitwegrechner 1 initiiert werden, wodurch die Notwendigkeit einer manuellen Konfiguration vermieden wird. Der Selbstkonfigurierungsprozess kann bei Bedarf wiederholt werden, zum Beispiel nach jeder Änderung in der Netzwerkstruktur, welche den lokalen Adressbereich möglicherweise beeinflussen kann. Alternativ könnte die Steuereinheit 5 in einer ständigen Lernbetriebsart betrieben werden und wirksam einen konstanten Lernprozess im Hintergrund ausführen, wobei sie den Präfix-Baum bei Bedarf fortwährend aktualisiert und den Adressbereich nach jeder Änderung überprüft. Somit können Netzwerksegmente hinzugefügt oder entfernt werden, ohne dass dafür ein manuelles Neukonfigurieren von Adressbereichen erforderlich wäre.
-
Es sind diverse Alternativen und Abwandlungen der spezifischen oben beschriebenen Ausführungsformen denkbar. In obigem einfachem Szenario haben die in den 4 und 5 gezeigten Teilnetzmasken jeweils eine Länge, die ein Vielfaches von 8-Bit-Bytes beträgt. Die Teilnetzmasken sind somit an die Bytes des IP-Adressformats angeglichen. In derartigen Fällen ist die Verwendung der oben verwendeten Präfix-Bäume am besten geeignet. Ausführungsformen der Erfindung können jedoch ohne Weiteres auf Systeme mit einem Teilnetz ohne Byte-Ausrichtung angewendet werden. In derartigen Fällen können Radix- oder Patricia-Bäume für die Baumdatenstruktur problemlos eingesetzt werden. Derartige Baumstrukturen sind allgemein bekannt und müssen hier nicht ausführlich erläutert werden. Kurz zusammengefasst, derartige Bäume können jedoch Bit für Bit aufgebaut werden, wobei jeder Elternknoten, der nur einen Kindknoten aufweist, mit seinem Kindknoten zusammengeführt wird, so dass die durch verschiedene Verzweigungspunkte dargestellten Adressabschnitte schwankende Längen haben können, wodurch verschiedene Bit-Masken und Netzwerkadressbereiche untergebracht werden können, die durch verschiedene Präfix-Längen festgelegt werden. Fachleuten erschließen sich ohne Weiteres detaillierte Prozesse zum Erzeugen dieser Bäume hier. Dieselben oben beschriebenen grundlegenden Grundgedanken zur Gewichtung von Verzweigungspunkten und zur Identifizierung von Adressbereichen gelten gleichermaßen für derartige Ausführungsformen.
-
Die Erfindung verkörpernde automatische Adressbereichs-Erkennungsverfahren könnten in jeder beliebigen Netzwerkeinheit wie einer Vermittlungseinheit, einem Leitwegrechner oder einer anderen Vermittlungsstellen-Einheit eingesetzt werden, bei der aus irgendwelchen Gründen eine Unterscheidung zwischen einem lokalen Netzverkehr und dem Internetverkehr vorgenommen werden muss. Anstelle des Filterns von Verkehr muss eine derartige Einheit möglicherweise Verkehr klassifizieren wie etwa aus Gründen der Steuerung oder der Überwachung des Datenverkehrs. Derartige Filter bzw. Klassifizierprogramme könnten zum Beispiel in Netzwerk-Firewalls eingesetzt werden. Die Filter- bzw. Klassifizierungsregeln könnten natürlich auf weiteren Informationen über einen Datenverkehr zusätzlich dazu, ob es sich bei dem Datenverkehr um internen oder externen Datenverkehr handelt, beruhen. Ein Beispiel hier sind Quell- und Ziel-Anschlussnummern, die zum Beispiel in Firewall-Systemen zum Filtern bzw. Klassifizieren von Verkehr durch eine Anwendung verwendet werden können. Derartige Anschlussnummerndaten könnten als Datenverkehrsdaten aufgezeichnet und den Baumstrukturen hinzugefügt werden, falls sie zur Verwendung in der nachfolgenden Verarbeitung gewünscht sind.
-
Während Datenverkehrsdaten oben direkt aus dem Überwachen von Verkehr in Leitwegrechner 1 erfasst werden, könnten Datenverkehrsdaten in anderen Ausführungsformen von einer anderen Netzwerkeinheit oder durch Entnahme der benötigten Daten aus den Netzwerkverkehrsdatensätzen erfasst werden. Tatsächlich können einige Ausführungsformen für die Offline-Analyse von Netzwerkverkehrsdatensätzen, und insbesondere für das Vorfiltern von Verkehrsdatensatzdaten für Datenverkehr, der von Interesse ist, eingesetzt werden. Übliche Verkehrsdatensätze können riesige Datenmengen enthalten, obwohl häufig lediglich ein Teil von Interesse für die Analyse ist, z. B. Verkehr aus einem bestimmten Netzwerk oder interner Verkehr in einem bestimmten Netzwerk. Die Erfindung verkörpernde Verfahren können folglich in einer Einheit verwendet werden, die aus Verkehrsdatensätzen erfasste Datenverkehrsdaten zur Identifizierung eines Netzwerkadressbereichs, der von Interesse ist, verarbeitet, wobei dieser Adressbereich dann zur Verwendung in einer nachfolgenden Analyse aufgezeichnet wird, um den relevanten Datenverkehr in den Verkehrsdatensätzen zu identifizieren. Eine derartige Einheit kann daher praktisch als ein sich selbst konfigurierendes Vorfilter für Netzwerkverkehrsdaten funktionieren. Es ist jedoch klar, dass die zugrunde liegende Funktionalität, sofern gewünscht, über mehr als eine Einheit eines Verkehrsdatensatz-Analysesystems verteilt sein kann. In jedem Fall kann ein derartiges Vorfilterungssystem benötigte Daten aus allgemeineren Verkehrsdatensätzen wirksam entnehmen, und es verhindert die Notwendigkeit der manuellen Konfiguration von Netzwerksegmenten, um Verkehr gemäß Anforderungen aktiv zu filtern.
-
Man wird verstehen, dass an den beschriebenen beispielhaften Ausführungsformen viele andere Änderungen und Abwandlungen vorgenommen werden können, ohne von dem Umfang der Erfindung abzuweichen.