-
Die
vorliegende Erfindung bezieht sich auf die Verwaltung von IPv6-Datenpaketen
(Internet Protocole Version 6) in einem Kommunikationsgerät.
-
Manche
dieser Datenpakete entsprechen dem so genannten „Network Discovery Protocol" (NDP) wie durch
RFC 2461 der IETF (Internet Engineering Task Force) definiert.
-
Dieses
Protokoll definiert „Autoconfiguration-" und „Network
Discovery"-Pakete
(ND) die es einem Gerät
von einem IPv6-Kommunikationsnetz ermöglichen, seine Adresse zu bestimmen
und die verschiedenen Geräte
in Erfahrung zu bringen, die jeweils an diese Verbindungen angeschlossen
sind. Dieses Protokoll ermöglicht
es auch jedem Gerät, über die Änderungen
informiert zu sein, die an diesen Verbindungen eintreten, beispielsweise
wenn ein „benachbartes" Gerät unzugänglich wird.
Bei diesem Gerät
kann es sich um einen Router (oder Knoten), einen „Host" (das heißt ein Endgerät), ein
Gateway oder eine beliebige Vorrichtung handeln, die die Mittel
zum Senden und Empfangen der IPv6-Datenpakete besitzt.
-
Außerdem braucht
der Betreiber des Kommunikationsnetzes dank dieses Protokolls nicht
mehr jedes der Geräte
seines Netzes manuell zu konfigurieren, denn dieses kann sich durch
Austausch von Autoconfigurationpaketen gemäß dem Protokoll NDP autokonfigurieren.
-
Jedoch
ist es erforderlich, diese Datenpakete zu sichern, damit insbesondere
ein nicht berechtigter Host sich nicht an das Kommunikationsnetz
anschließen
kann. So ist es durch das NDP-Protokoll möglich, dass ein Host sich die
Identität
eines anderen Hosts widerrechtlich aneignet, indem er das Gerät für den Zugang
zu diesem Netz glauben macht, dass es die MAC-Schnittstelle desselben
besitzt.
-
Ein
solcher Bedarf ist bei Funkkommunikationsnetzen entscheidend, in
denen die Hosts mobil sind, und folglich nicht physisch und statisch
an Zugangsgeräte
angeschlossen sind.
-
Es
ist also notwendig, das NDP-Protokoll mit Sicherungsmechanismen
auszustatten. RFC 3756 mit dem Titel „IPv6 Neighbor Discovery (ND)
Trust Models and Threats" vom
Mai 2004 zeigt die Probleme und Anforderungen für die Scherung des NDP-Protokolls
auf. Es unterstreicht dass die früheren Arbeiten auf dem Sicherungsprotokoll „IPsec" basierten, dass
dieses Protokoll aber die manuelle Bestimmung der Codierungsschlüssel erfordert.
Da dieser manuelle Schritt kaum mit dem automatischen Charakter
des NDP-Protokolls kompatibel ist, ist ein anderer Ansatz erforderlich.
-
Dieser
Ansatz wird durch RFC 3971 der IETF mit dem Titel „Secure
Neighbor Discovery (SEND)" vom März 2005
vorgeschlagen. Vom technischen Gesichtspunkt aus besteht der SEND-Mechanismus
darin, Sicherheitsinformationen enthaltende Felder in jeder der
Mitteilungen des NDP-Protokolls hinzuzufügen, genauer gesagt am Ende
selbiger. Diese Felder werden teilweise durch das RFC definiert:
es handelt sich um die Felder „RSA
Signature option", „CGA option", „Timestamp
option" und „None option". Jedoch lassen die
Spezifikationen von RFC 3971 die Möglichkeit offen, später neue „option"-Felder hinzuzufügen, um
das NDP-Protokoll und den SEND-Mechanismus noch anzureichern.
-
Derzeit
beginnt man gerade erst damit die ersten Implementierungen des SEND-Mechanismus zu definieren.
Einige dieser Implementierungen basieren auf einem Betriebssystem
vom Typ Linux. Es kann sich zum Beispiel um ein Linux- oder BSD-Betriebssystem handeln.
Herkömmlich
schließen
die für
Kommunikationsgeräte
dedizierten Betriebssystemkerne einen oder mehrere Protokollstapel
ein, welche die Übertragung der
Datenpakete für
die Anwendungen transparent managen. Diese Protokollstapel IPv6
implementieren also die Softwaremechanismen, die erforderlich sind,
um das NDP-Protokoll und den SEND-Mechanismus zu verwalten.
-
Ein
solcher Ansatz weist jedoch große
Nachteile auf. Der SEND-Mechanismus ist entwicklungsfähig, insbesondere
durch die Hinzufügung
von neuen „Options"-feldern. Jede Entwicklung
erfordert also die Abänderung
des Kerns des Betriebssystems. Nun ist es so, dass die Änderung
eines Betriebskerns (oder Kerns eines Betriebssystems) ein komplexer
und somit teurer Arbeitsvorgang ist.
-
Zweck
der Erfindung ist es also, diesen Nachteilen abzuhelfen, indem man
ein Kommunikationsgerät vorschlägt, das
den SEND-Mechanismus für
das Betriebssystem transparent ausführt. Sie kommt zwischen dem
Netz und dem Betriebssystem zum Einsatz, was ausbaufähig ist
und vor allem nicht so kostspielig.
-
Ein
erster Gegenstand der Erfindung ist somit ein Verfahren zur Sicherung
eines Kommunikationsgeräts,
das einen Betriebssystemkern und einen Komplex Softwareanwendungen
einschließt,
wobei dieser Kern mindestens einen IPv6-Protokollstapel enthält, der
es ermöglicht,
eingehende Datenpakete von einem Eingangsport aus zu einer Anwendung
zu übertragen
und ausgehende Datenpakete von einer (anderen oder identischen)
Anwendung aus zu einem Ausgangsport zu übertragen, wobei diese Protokollstapel
einen Komplex von Schnittstellen einschließen, die dafür vorgesehen
sind, es externen Modulen, die an jene angeschlossen sind, zu ermöglichen,
auf Datenpakete, die durch den oder die Protokollstapel übertragen
werden, an bestimmten Punkten zuzugreifen, welche mit diesen Schnittstellen
verknüpft
sind. Das Verfahren ist dadurch gekennzeichnet, dass man Eingangsmodule
und Ausgangsmodule mit einer Eingangsschnittselle (HIN)
beziehungsweise einer Ausgangsschnittstelle des Kerns verbindet,
und dadurch gekennzeichnet, dass die Module die Datenpakete des
NDP-Protokolls auswählen,
analysieren und eventuell modifizieren, gemäß dem SEND-Mechanismus, und
zwar für
den Kern transparent.
-
Gegenstand
der Erfindung ist ebenfalls ein Kommunikationsgerät, das einen
Betriebssystemkern und einen Komplex Softwareanwendungen einschließt, wobei
der Kern mindestens einen Protokollstapel IPv6 enthält, der
es ermöglicht,
eingehende Datenpakete von einem Eingangsport aus zu einer Anwendung
zu übertragen
und ausgehende Datenpakete von einer (identischen oder anderen)
Anwendung aus zu einem Ausgangsport (POUT)
zu übertragen,
wobei die Protokollstapel einen Komplex von Schnittstellen einschließen, die dafür vorgesehen
sind, es externen Modulen, die an jene angeschlossen sind, zu ermöglichen,
auf die Datenpakete, die durch den oder die Protokollstapel übertragen
werden, an bestimmten Punkten zuzugreifen, welche mit diesen Schnittstellen
verknüpft
sind. Das Kommunikationsgerät
ist dadurch gekennzeichnet, dass Eingangs- und Ausgangsmodule mit
einer Eingangsschnittstelle beziehungsweise einer Ausgangsschnittstelle verbunden
sind, und dafür
vorgesehen sind, die Datenpakete des NDP-Protokolls auszuwählen, zu
analysieren und zu modifizieren, gemäß dem SEND-Mechanismus, und
zwar für
diesen Kern transparent.
-
Gemäß einer
Ausführung
der Erfindung ist das Betriebssystem ein Linux-System und die bestimmten Punkte
werden gemäß der Infrastruktur „NetFilter" definiert.
-
Außerdem analysieren
und modifizieren die externen Module gemäß einer Ausführungsart
die Optionen „CGA
Option" und „RSA signature" dieser Datenpakete
des NDP-Protokolls; die Modifizierung kann das Hinzufügen dieser
Optionen einschließen.
-
Auf
diese Art und Weise können
Entwicklungen der SEND-Mechanismen dadurch erfolgen, dass man die
Eingangs- und/oder Ausgangsmodule wechselt. Der Betriebskern an
sich bleibt unverändert.
Die Kosten für
Entwicklung und Prüfung
werden also erheblich verringert.
-
Das
Verhalten des Kerns des Betriebssystems wird durch die Maßnahmen
der Eingangs- und/oder Ausgangsmodule nicht beeinflusst. Für ihn sind
diese Maßnahmen
transparent.
-
Außerdem wird
es möglich,
Weiterentwicklungen des Mechanismus oder einfach den Austausch der Module
durch leistungsfähigere
oder „ausgetestete" neue Module direkt
am Kommunikationsgerät
vorzunehmen, ohne dass das System gestoppt, Änderungen vorgenommen, der
Kern neu kompiliert und das System neu gestartet werden muss.
-
Die
Darstellung und ihre Vorteile treten in der nachfolgenden Beschreibung
in Verbindung mit den beigefügten
Figuren deutlicher zutage.
-
1 stellt
schematisch ein Kommunikationsgerät gemäß der Erfindung dar.
-
2 veranschaulicht
eine auf einem Linux-Betriebssystem basierende besondere Ausführungsart der
Erfindung.
-
3 stellt
ein Paket aus dem NDP-Protokoll dar, wobei ein SEND-Mechanismus
zum Einsatz kommt.
-
Wie
vorstehend gesagt kann ein Kommunikationsgerät sich aufgliedern lassen zwischen
einem Betriebssystemkern (oder abgekürzt „Betriebskern") und Anwendungen,
die dank dieses Kerns funktionieren. Die Rolle des Kerns ist es,
es diesen Anwendungen zu ermöglichen,
unabhängig
von der Hardware (Hersteller des Kommunikationsgeräts, Modell,
usw.) sowie von der Netzinfrastruktur (Version der Netzwerkprotokolle,
Protokollart, usw.) zu funktionieren und die Entwicklung der Anwendungen
zu erleichtern, indem ein Komplex von „Funktionen" angeboten wird,
der von diesen Anwendungen nutzbar ist. Diese Funktionen sind dank
klar definierter Schnittstellen für die Anwendungen zugänglich.
-
Auf 1 schließt das dargestellte
Kommunikationsgerät
also einen Kern K und einen für
die Anwendungen dedizierten Raum AS („User space” oder „user land") ein.
-
Der
Betriebskern K schließt
einen (oder mehrere) Protokollstapel PS ein, sowie weitere nicht
dargestellte Funktionen. Im Rahmen der Erfindung ist dieser Protokollstapel vorzugsweise
entsprechend dem Protokoll IPv6 (Internet Protocole Version 6).
Der Protokollstapel PS ist verbunden zum einen mit einem Eingangsport
PIN und zum anderen mit einem Ausgangsport
POUT. Die Datenpakete besitzen einen Kopf
gemäß dem Protokoll
IPv6, der mindestens die Empfängeradresse
und die Quellenadresse präzisiert.
-
Die
eingehenden Datenpakete sind Datenpakete, die als Empfängeradresse
die IPv6-Adresse
des Kommunikationsgeräts
enthalten. Diese Pakete kommen durch den Eingangsport PIN herein
und werden vom Protokollstapel PS bis zu einer Anwendung A übermittelt.
-
Eine
Anwendung A (die gleiche oder eine andere) kann ebenfalls Datenpakete
senden. Diese Datenpakete enthalten dann die IPv6-Adresse des Kommunikationsgeräts als Quellenadresse
und werden vom Protokollstapel bis zum Ausgangsport POUT übertragen.
-
Der
Protokollstapel PS schließt
außerdem
einen Komplex von Schnittstellen (HPRE,
HIN, HOUT, HPOST) ein. Diese Schnittstellen sind dafür vorgesehen,
es den externen Modulen MIN, MOUT zu
ermöglichen,
mit dem Protokollstapel verbunden zu werden, um auf die vom Protokollstapel übertragenen
Datenpakete an bestimmten Punkten, die mit diesen Schnittstellen
verknüpft
sind, zuzugreifen.
-
1 zeigt
nur 4 Schnittstellen HPRE, HIN,
HOUT, HPOST aber
der Protokollstapel PS kann weitere davon besitzen. Diese Schnittstellen
hängen
von der Art des Betriebskerns K ab.
-
Bei
einer Ausführung
entsprechend dem Linux-Kern definiert die „NetFilter"-Infrastruktur
fünf Schnittstellen
entsprechend 5 bestimmten Punkten in der Übertragung der Datenpakete.
Die „NetFilter"-Infrastruktur wird
durch die Website www.netfilter.org beschrieben und diese fünf Punkte
werden durch 2 veranschaulicht.
-
Die
Erfindung kann jedoch nicht auf diese Ausführung beschränkt werden,
denn sie kann auf andere Betriebssysteme (BSD, usw.) Anwendung finden,
die ebenfalls bestimmte Punkte („hook”) bieten, die mit Schnittstellen
verknüpft
sind, die den Zugriff auf die Datenpakete durch externe Module ermöglichen.
-
Im
Rahmen dieser auf dem Linux-System basierenden Ausführung ist
jedes an einem Eingangsport eintreffende Datenpaket zunächst Gegenstand
einer Vorverarbeitung PreP.
-
Diese
Vorverarbeitung besteht insbesondere darin, zu überprüfen, dass das Datenpaket vollständig ist,
dass der im Paket enthaltene Überprüfungswert
(„checksum") den empfangenen
Daten entspricht, usw. Nach dieser Vorverarbeitung findet man einen
ersten bestimmten Punkt „PRE".
-
Die
Datenpakete durchlaufen dann eine zweite Verarbeitung „Routing", die darin besteht,
zu bestimmen, ob ihr Ziel das Kommunikationsgerät ist oder ob sie zu einem
Ausgangsport weiter übermittelt
werden müssen.
Hierfür
vergleicht die Verarbeitung „Routing" die in jedem Datenpaket
enthaltene Zieladresse mit der IPv6-Adresse des Kommunikationsgeräts. Wenn
diese Adressen sich entsprechen kommt das Datenpaket an einem bestimmten
Punkt „IN" an, dann wird es
zu einer Zielanwendung übertragen.
-
Falls
dieses nicht der Fall ist, gelangt es zu einem bestimmten Punkt „FWD", was bedeutet, dass
es zu einem anderen Kommunikationsgerät übertragen werden soll (_"ForWarD" auf Englisch).
-
Die
Datenpakete können
dann Gegenstand weiterer Verarbeitungen „Poste" sein, bevor sie beim letzten bestimmten
Punkt „POST" anlangen, was bedeutet,
dass das Paket bereit für
die Übertragung
durch einen Ausgangsport ist.
-
Die
vom Kommunikationsgerät
herkommenden Datenpakete treffen durch einen ersten bestimmten Punkt „OUT” ein. Sie
werden einer Verarbeitung „Routing" unterzogen, um zu
bestimmen wohin (zu welchem Port) sie gesendet werden sollen, dann
weitere etwaige Verarbeitungen „Poste", bevor sie zum bestimmten Punkt „POST" gelangen.
-
Mit
anderen Worten: diese besonderen Punkte entsprechen „Status" der Verarbeitung
der Datenpakete durch den Protokollstapel PS, Markierungen entlang
ihres Verlaufs.
-
Mit
diesen bestimmten Punkten „PRE", „IN", „FWD", „OUT" und „POST" sind Schnittstellen
verknüpft, das
heißt
Mittel für
den Zugriff auf Datenpakete durch Anwendungen (oder Module), die
extern vom Protokollstapel sind. Diese Schnittstellen werden in
dem der „NetFilter"-Infrastruktur eigenen
Vokabular als „hook" (das englische Wort
für „Haken") bezeichnet.
-
Die
Anwendungen, die an die Schnittstellen des Protokollstapels angeschlossen
sind, werden anschließend
als „Module" bezeichnet, um sie
von den anderen Anwendungen zu unterscheiden, wie diejenigen, die
Endpunkte der Datenpaketströme
(wie die Anwendungen A aus 1) sein
können.
-
Die
externen Module können
dank eines Listenmechanismus an die Schnittstellen des Protokollstapels
angeschlossen werden. Jeder Schnittstelle entsprechen mehrere Listen,
wobei diese jeweils eine präzise Funktion
haben. Mehrere Implementierungen sind hier möglich, die insbesondere von
der Art des verwendeten Kerns (die Listen „mangle" und „filter" für
Linux, die Liste „divert" für BSD, usw.)
abhängen.
-
Externe
Module können
bei den Listen dieser Schnittstellen registriert werden. Wenn ein
Datenpaket einen der bestimmten Punkte erreicht, wird die „NetFilter"-Infrastruktur aufgerufen.
Diese verfügt über die
notwendigen Mittel, um es den in ihren Listen registrierten externen
Modulen zu ermöglichen,
auf das Datenpaket zuzugreifen.
-
Jedoch
hat die Patentanmelderin bemerkt, dass im Falle des Protokolls NDP
die Empfängeradresse vom
Typ „multi-cast" (oder auf Französisch „point à multipoint" = Punkt zu Mehrpunkt)
ist: sie adressieren sämtliche
Kommunikationsgeräte,
die Teilnehmer bei dieser Gruppe sind („alle Knoten” oder „alle Router") auf ein und derselben
Verbindung. Daher ist jedes Teilnehmer-Kommunikationsgerät Empfänger sämtlicher
Pakete des Protokolls NDP. Folglich kann eine erste Auswahl hinsichtlich
der Art des Datenpakets erfolgen, das die „NetFilter"-Infrastruktur passiert oder nicht,
dank des Befehls „ipótables". Hier werden lediglich
die Datenpakete des Protokolls NDP an die „NetFilter"-Infrastrukur gesendet; die anderen
setzen ihren üblichen
Weg fort.
-
Außerdem ist
es zwecks Optimierung des Mechanismus und Einsparung von Ressourcen
interessant sich nur für
die bestimmten Punkte „IN" und „OUT" und ihre verknüpften Schnittstellen
zu interessieren.
-
Wenn
wir auf 1 zurückkommen, sind also zwei externe
Module MIN und MOUT mit
den Schnittstellen (oder „hook") HIN und
HOUT verbunden. Um diese Schnittstellen
zu nutzen, verwenden die externen Module die Funktionen, die von
der Bibliothek „libipq" angeboten werden.
Der diesen Funktionen entsprechende Code wird auf 1 schraffiert
dargestellt.
-
Wie
bereits gesagt ermöglichen
es diese Funktionen dem Modul auf das Datenpaket zuzugreifen, wenn
sie sich bei einer Schnittstelle HIN, HOUT des Protokollstapels PS präsentieren.
-
Die
Einzelheiten der Bibliothek „libipq" werden in verschiedenen
Dokumentationen dargelegt, die dem Fachmann zugänglich sind, darunter die „manuellen
Seiten" der Betriebssysteme
(„manpages").
-
Ohne
auf alle Einzelheiten eingehen zu wollen, ist es so, dass die Funktion „ipq_read()" es jedem externen
Modul ermöglicht,
das Eintreffen eines Datenpakets an der Schnittstelle abzuwarten.
Die Funktion „ipq_get_packet()” ermöglicht es
anschließend,
dieses Datenpaket zu lesen, das heißt, es in einen Speicherbereich
zu kopieren, der für
das externe Modul vorbehalten ist. Dieses kann dann jede der im
Datenpaket enthaltenen Informationen lesen.
-
Es
kann dann die Pakete des Protokolls NDP aus den anderen Datenpaketen
auswählen
und kann die ausgewählten
Datenpakete analysieren und eventuell modifizieren, gemäß dem SEND-Mechanismus.
-
Diese
Auswahl und diese Analyse werden später detaillierter betrachtet,
aber hier ist es wichtig zu wissen, dass gegebenenfalls der Speicherbereich,
in den das Datenpaket kopiert wurde, modifiziert werden kann, um
diese Verarbeitung widerzuspiegeln.
-
Nachdem
dieses durchgeführt
wurde, kann das externe Modul die Funktion „ipq_set_verdict()" verwenden. Diese
Funktion ermöglicht
es, mit dem Argument „ACCEPT" oder "MODIFIED" das Datenpaket im Protokollstapel
PS durch die betreffende Schnittstelle HIN,
HOUT intakt oder modifiziert wieder her
zu stellen. Dieses Datenpaket ist eine Kopie des Speicherbereichs,
in den es zuvor kopiert worden war.
-
Auf
diese Art und Weise können
die externen Module die Datenpakete modifizieren (Argument „MODIFIED"), die vom Protokollstapel
PS auf für
diesen transparente Art und Weise übertragen wurden.
-
Die
Auswahl der Pakete des Protokolls NDP kann abhängig von den Spezifikationen
des Protokolls NDP („Neighbor
Discovery Protocol”)
definiert durch RFC 2461 erfolgen.
-
3 stellt
schematisch das Format eines Datenpakets dar. Es beinhaltet einen
Kopf „IP
Header" so wie vorstehend
genannt. Anschließend
kommt ein zweiter „Kopf", ND, bestehend aus
Feldern, die dem NDP-Protokoll eigen sind. Dieses Protokoll definiert
5 Arten von Datenpaketen: „Neighbor
Solicitation", „Neighbor
Advertisement", „Router
Solicitation", „Router
Advertisement", „Redirect".
-
Es
ist möglich
die Pakete gemäß dem Protokoll
NDP durch die Analyse dieses Kopfes „ND" auszuwählen. So wie in Abschnitt 4
von RFC 2461 beschrieben beginnt der ND-Kopf mit einem Feld „Typ", das den Typ des
Datenpakets gemäß der nachstehenden
Tabelle definiert:
Pakettyp | Wert
des Feldes „Typ" |
„Neighbor
Solicitation" | 135 |
„Neighbor
Advertisement" | 136 |
„Router
Solicitation" | 133 |
„Router
Advertisement" | 134 |
„Redirect" | 137 |
-
Die
Pakete gemäß dem Protokoll
NDP besitzen außerdem
einen Inhaltsbereich, der vom SEND-Mechanismus genutzt wird, um
dort Optionen einzufügen.
Der SEND-Mechanismus sieht insbesondere zwei Optionen vor: die Option
RSA (oder genauer gesagt „RSA
signature") und
die Option CGA. Zwei weitere Optionen – die auf der Figur nicht dargestellt
sind – sind
ebenfalls vorgesehen: die Option „TimeStamp" und die Option „Nonce".
-
Die
Option CGA ermöglicht
es, Informationen im Zusammenhang mit der CGA-Technik (für auf Englisch „Cryptographically
Generated Address")
zu übertragen.
Diese Technik wird in RFC 3972 vom März 2005 beschrieben und sie
besteht darin, die IPv6-Adresse
eine Netzknotens zu generieren, wobei eine irreversible Hash-Funktion
ausgehend von mindestens dem Public-Key dieses Knotens generiert
wird.
-
Die
Option „RSA" ermöglicht es,
an die NDP-Datenpakete Signaturen anzuhängen, die auf einem Public-Key
basieren.
-
Diese
Optionen sind nicht voneinander unabhängig. Wenn zum Beispiel die
Optionen „CGA" und „RSA signature" vorhanden sind,
dann ist es erforderlich, dass der Public-Key, der ausgehend von
der Option „CGA" ermittelt wurde,
derjenige ist, der im Feld „Key
Hash" der Option „RSA signature" übertragen wird. Falls dieses nicht
der Fall ist, muss das Paket unterdrückt werden.
-
Somit
müssen
zahlreiche Verarbeitungsregeln vom Kommunikationsgerät angewandt
werden, und zwar für
das Senden der NDP-Pakete oder das Empfangen.
-
Die
Rolle der externen Module MIN und MOUT besteht dann darin, diese Verarbeitungsregeln
für den zweiten
beziehungsweise ersten Fall anzuwenden. Sie können diese Aufgabe für den Betriebskern
vollkommen transparent erfüllen.
Es geht also zum einen darum, die NDP-Datenpakete (hauptsächlich für MIN) zu analysieren, um sich davon zu überzeugen,
dass sie den SEND-Mechanismus befolgen und zum anderen darum, die
NDP-Datenpakete
(hauptsächlich
für MOUT) zu modifizieren, um sie an den SEND-Mechanismus
anzupassen.
-
Wenn
eine neue Version des Verarbeitungscodes des SEND-Mechanismus verfügbar ist,
genügt
es dann, diesen Code in diese externen Module einzubauen, ohne deshalb
den Knoten selbst zu verändern. Ebenso,
wenn der SEND-Mechanismus sich weiter entwickelt und neue Optionen
festlegt: auch da genügt
es, den Code bezüglich
dieser Weiterentwicklungen in den externen Modulen einzufügen, ohne
den Betriebskern anzutasten.
-
In
der Situation, wo der Kern des Betriebssystems nicht über eine
Infrastruktur vergleichbar der „NetFilter"-Infrastruktur verfügt, das heißt, wenn er Schnittstellen
aufweist, die mit bestimmten Punkten verknüpft sind, bleibt es möglich, die
Erfindung als „Programm
mit Notfunktionen" auszuführen. Es
ist nämlich
möglich, die
Pakete vor ihrem Eingang in den Protokollstapel und bei ihrem Ausgang
zu beobachten. Softwaremodule MIN, MOUT können
also mit dem Eingang und dem Ausgang dieses Protokollstapels verbunden
werden, um gegebenenfalls die Pakete, die dem NDP-Protokoll entsprechen,
gemäß dem SEND-Mechanismus zu modifizieren.