-
Technisches
Gebiet
-
Ein
Kommunikationsnetz oder ein IP-Netz, dass einen Paketklassifizierer
in einem Endsystem oder einem Router einschließt, der jedes ankommende Paket
beruhend auf Information in den Paketköpfen inspiziert und entscheidet,
wie jedes Paket behandelt werden sollte.
-
Stand der
Technik
-
Ein
Paketklassifizierer ist ein Programm in einem Endsystem oder einem
Router, der jedes ankommende Paket inspiziert und beruhend auf der
Information in den Paketköpfen
entscheidet, wie jedes Paket behandelt werden sollte. Ein Paketklassifizierer
teilt so Pakete in unterschiedliche Klassen auf.
-
Ein
Betriebssystem kann von einem Paketklassifizierer auf viele unterschiedliche
Weisen vorteilhaft Gebrauch machen. Erstens kann ein Paketklassifizierer
in einem Endsystem entscheiden, welcher Vorgang aktiviert werden
soll, sich um die Pakete zu kümmern
(z. B. einen Protokollstapel auf der Ebene des Benutzers zu starten:
D. R. Engler und M. F. Kaashoek: DPF: Fast, Flexible Message Demultiplexing
using Dynamic Code Generation [schnelle flexible Meldungsdemultiplexierungs
unter Verwendung von dynamischer Codeerzeugung], Proc. of ACM SIGCOMM'96, August 1996.).
-
Zweitens
kann ein Router einen Paketklassifizierer verwenden, um die Verwaltung
von Paketströmen wirksamer
durch Markieren von Paketen zu machen. Dies erleichtert ihre Verarbeitung,
wenn sie zum nächsten Sprungrouter
(hop router) gesendet werden, so genanntes Markierungs- oder IP-Schalten (Y. Rekhter,
B. Davie, D. Katz, E. Rosen, G. Swallow and D. Farinacci: Tag Switching
Architecture-Overview. [Markierungsschaltungsarchitektur-Überblick],
Internet Draft, Juli 1997. In Arbeit. und (IP Switching: The intelligence
of Routing, the Performance of Switching [die Intelligenz von Leitwegleitung,
das Verhalten von Schalten oder Vermittlung], Ipsilon Networts white
paper, Februar 1996, http://www.ipsilon.com/productinfo/
wp-
ipswitch.html.).
-
Drittens
kann ein Paketklassifizierer in Firewalls verwendet werden. Z. B.
ist ein Unternehmen nicht an irgendeinem Verkehr zu seinem lokalen
Netzwerk mit der Ausnahme von www-Verkehr zu einem besonderen Computer,
ftp-Verkehr zu einem
anderen und PPP-Verbindungen zu einem dritten Computer interessiert.
Diese Regeln sind als Filter in einem Paketklassifizierer eingefügt, und
die Pakete, die mit einem dieser Kriterien übereinstimmen, sind die einzigen,
denen es erlaubt wird, durch die Firewall zu gelangen.
-
Viertens
kann ein Paketklassifizierer bei Quality of Service, QoS Lösungen (Qualität des Dienstes)
verwendet werden. Traditionell hat das Internet nur Dienste größter Anstrengungen
unterstützt,
wobei keine Garantien bezüglich
Verzögerung
und Verzögerungsvariation
(Jitter) durch das Netz gegeben worden ist. Um unterschiedliche
Niveaus von Dienst anzubieten, müssen
Pakete klassifiziert werden, so dass der Planer jedem Paket den
angeforderten Dienst geben kann. Paketklassifizierung wird dadurch
gemacht, dass eine Anzahl von Feldern in den Paketköpfen untersucht
wird. Ge biete des Interesses sind z. B.: Quellenadresse, Bestimmungsadresse,
Quellenanschluss und Bestimmungsanschluss. Diese Felder werden mit
den Filtern verglichen, die im Paketklassifizierer gespeichert sind.
Mit jedem Filter ist auch eine Aktion gespeichert. Die Aktion beschreibt,
was zu tun ist, wenn das ankommende Paket mit dem Filter zusammenpasst.
Die entsprechende Aktion hängt
von dem Zusammenhang ab, in dem der Paketklassifizierer verwendet
wird.
-
US-A-5
574 910 beschreibt ein Verfahren und eine Vorrichtung für Behandlung
von Paketen in Abhängigkeit
von Information in den Paketköpfen.
Ein binärer
Suchbaum, der eine große
Anzahl von Filtern einschließt,
wird verwendet, um zu entscheiden, wie die Pakete behandelt werden
sollten.
-
Technisches
Problem
-
Die
Erfindung ist bestrebt, einen wirksamen Paketklassifizierer zu schaffen,
der bei Anwendungen der oben erwähnten
Art implementiert werden kann.
-
Der
Klassifizierer soll nicht ein einziges Problem lösen, sondern ist stattdessen
so ausgebildet, dass er eine Gruppe von Problemen löst und insbesondere
Paketklassifizierung, wenn eine große Menge von Filtern gespeichert
ist.
-
Offenbarung
der Erfindung
-
Gemäß einem
Gesichtspunkt der vorliegenden Erfindung wird ein Paketklassifizierer
geschaffen, wie er in Anspruch 1 angegeben ist.
-
Vorteilhafte
Wirkungen der Erfindung
-
Ein
Paketklassifizierer, der in Übereinstimmung
mit der Erfindung ausgebildet ist, hat eine Anzahl von Vorteilen.
Die Datenstruktur des Paketklassifizierers kann gut skalieren, wenn
zusätzliche
Filter eingefügt
werden, die Filterspezifikation allgemein genug ist, um Klassifizierung
auf Unternetzen zu unterstützen,
und die Datenstruktur ist Speichereffizient. Die Vorteile des implementierten
Paketklassifizierers können
als die Folgenden zusammengefasst werden:
- 1.
Skalierbare Datenstruktur
- 2. Allgemeine Filterspezifikation
- 3. Geringer Speichergebrauch
-
Ausführungsformen
der Erfindung sollen nun beispielsweise unter Bezugnahme auf die
beigefügten Zeichnungen
beschrieben werden. Es zeigen:
-
1 in
schematischer Form einen Paketklassifizierer gemäß unserer Erfindung, und unterschiedliche
Teile des Klassifizierers;
-
2 einen
IP- und UDP-Kopfsatz;
-
3 die
binomialen Bäume
der Datenstruktur;
-
4 den
Filter [SP=16, TOS=0) als den ersten eingefügten Filter;
-
5 dass
Filter 0100 und 010x eingesetzt sind;
-
6,
dass der Trie-Baum mit Filtern 01xx, 1000 und 1001 erweitert ist.
-
Der
implementierte Paketklassifizierer ist in 1 dargestellt
und zeigt drei mehr oder weniger voneinander getrennte Teile. Diese
sind: das Reservierungsprogramm 1, das ein alleinstehendes
Programm ist, die Schnittstelle zwischen den Paketflüssen 2 und
der Datenstruktur 3 und die Datenstruktur selbst. Der Hauptteil,
die Datenstruktur 3 und die Schnittstelle 4 zwischen
ihr und den Paketen ist als Teil eines Kernels 5 im Betriebssystem
NetBSD implementiert. Dies wird gemacht, um die Paketklassifizierung
zu beschleunigen und um auf natürliche
Weise Zugriff zu den ankommenden Paketen zu erhalten. Das Reservierungsprogramm
hat nicht dieselben Anforderungen an die Geschwindigkeit, und es
wird auch keine Wechselwirkung mit den ankommenden Paketen benötigt. Daher
wird es in Benutzerraum angeordnet.
-
Die
Implementierung des Paketklassifizierers ist verhältnismäßig allgemein.
Der Klassifizierer ist nicht optimiert, um ein einziges Problem
zu lösen,
sondern ist stattdessen so ausgebildet, dass er eine Gruppe von Problemen
löst, nämlich Paketklassifizierung,
wenn eine große
Menge von Filtern gespeichert ist.
-
Filter
-
Ein
Filter besteht aus einer Reservierung und einer Anzahl von Feldern
in den Paketköpfen.
Ein Filter kann aus jeglicher Kombination von sechs Filtern bestehen,
die in 2 gezeigt sind.
-
Die
folgenden Abkürzungen
werden für
diese Felder eingeführt:
-
Der
Grund, diese Felder auszuwählen,
besteht darin, dass sie einen Fluss spezifizieren können. Gewisser
Stand der Technik verwendet die SA, DA, DP und Prot-Felder, um diese
Flüsse
und Filter zu spezifizieren. Differenzielle Dienste verwenden das
TOS Feld in einigen Vorschlägen
des Standes der Technik.
-
Zur
Startzeit ist es möglich,
verschiedene Prioritätsordnungen
den Feldern zu geben, auf denen klassifiziert werden soll (z. B.
kann der Paketklassifizierer so konfiguriert werden, dass er dem
Quellenadressfeld höhere
Priorität
als dem Protokollfeld gibt). Eine Prioritätsreihenfolge zwischen den
unterschiedlichen Feldern ist notwendig, da ein ankommendes Paket
mit mehr als einem Filter zusammenpassen kann. Zum Beispiel kann
ein Paket mit einem Filter zusammenpassen, der mit den Quellen-
und Bestimmungsanschlüssen
zusammenpasst und gleichzeitig mit einem anderen Filter übereinstimmt,
der auf den Quellen- und Bestimmungsadressen beruht. Die Prioritätsreihenfolge
entscheidet dann, welcher Filter gewählt werden wird.
-
Körnigkeit
von Flüssen
-
Eine
wichtige Qualität
für einen
schnellen Paketklassifizierer besteht darin, dass Filter nicht nur
mit individuellen Flüssen übereinstimmen
können,
sondern auch mit Gruppen von Flüssen.
Die Eigenschaft, die anzeigt, auf welchem Detailniveau ein Fluss
spezifiziert wird, wird Körnigkeit
genannt. Bei einer gröberen
Körnigkeit
muss nicht jeder einzelne Fluss spezifiziert werden, wenn der selbe
Filter für
viel Flüsse
gemacht wird, so dass ein vollständiges
Unternetz mit nur einem Filter spezifiziert werden kann. Der Vorteil,
eine gröbere
Körnigkeit
zu verwenden, besteht darin, dass viele Flüsse einen einzigen Filter teilen
können,
was bedeutet, dass man weniger Filter hat. Dies führt zu schnellerer
Paketklassifizierung. Der Nachteil ist ein niedrigeres Niveau des
Details. Ein Fluss kann nicht von dem anderen getrennt werden. Unser
Paketklassifizierer unterstützt
Filterspezifikationen auf Unternetze. Quellen- und Bestimmungsadressen können Unternetzfilter
haben, die auf bit-Niveau hergestellt sind. Die Bezeichnung 131.115.22.11/29
bedeutet, dass ein Filter auf den 29 Bits hoher Ordnung in der Adresse
aufgebaut ist.
-
Das Reservierungsprogramm
-
Das
Reservierungsprogramm ist der Teil des Paketklassifizierers, wo
neue Filter gemacht werden und alte beseitigt werden. Filter bestehen
aus Kopfdatenfeldern und einer entsprechenden Reservierung. Filter werden
eingefügt,
sowie der Benutzer die Filter in eine Konfigurationsdatei einfügt. Danach
kompiliert der Benutzer die Konfigurationsdatei mit dem Reservierungsprogramm.
Das Reservierungsprogramm gibt, wenn die Konfigurationsdatei syntaktisch
richtig ist, eine kompilierte Datei zurück. Diese Datei wird dann durch
den Benutzer über
eine Einrichtung herunter zum Kernel kopiert.
-
Schnittstelle
zwischen den ankommenden Paketen und der Datenstruktur
-
Die
Schnittstelle leitet ankommende Pakete zur Datenstruktur weiter.
Sie berücksichtigt
die Unterbrechungen, die erzeugt werden, wenn neue Filter auf den
Kernel herunterkopiert werden. Wenn diese Filter ankommen, ist es
die Schnittstelle, die sich um sie kümmert und sie in die Datenstruktur
einfügt
oder sie von derselben entfernt.
-
Die Datenstruktur
-
Die
Filter und ihre Reservierungen sind in der Datenstruktur gespeichert.
Dies ist der wichtigste Teil eines schnellen Paketklassifizierers,
zumindestens, wenn viele Filter gespeichert sind. Der Grund hierfür besteht
darin, dass die Kosten für
Nachschlagen von Filtern in einer linearen Struktur (einem Array
oder einer verknüpften
Liste) proportional zur Anzahl von Filtern sind. Dies ist kein Problem,
wenn der Paketklassifizierer nur eine kleine Anzahl von Filtern
zur gleichen Zeit speichern muss. Da die Anzahl der Filter klein
ist, wird die Nachschlagzeit auch klein sein. Für einen Paketklassifizierer,
der in einem Router benutzt werden soll, der QoS-Angelegenheiten
handhabt, sind die Arbeitsbedingungen vollständig verschieden. Die Anzahl
von gleichzeitig gespeicherten Filtern kann häufig in den 1000ern gezählt werden,
und es ist nicht zweckmäßig, eine
lineare Datenstruktur zu verwenden. In diesem Falle ist es wichtig,
zusammenpassende Filter zu finden, ohne dass man über alle
von ihnen gehen muss. Je schneller, wie man eine Übereinstimmung
zwischen den ankommenden Paket und einem Filter finden kann, umso
besser ist dies. Wir haben es gewählt, unsere Struktur als eine
Kombination zwischen binomialen Bäumen und Tries zu bauen. Wir
haben eine neue Datenstruktur mit sechs binomialen Bäumen geschaffen,
wo jeder Knoten im binomialen Baum ein Trie ist.
-
Binomiale
Struktur
-
Wie
ein Filter in die Datenstruktur eingesetzt wird, hängt von
der Prioritätsreihenfolge
zwischen den unterschiedlichen Feldern ab. Wenn wir annehmen, dass
SA die höchste
Priorität
hat, gefolgt von DA, SP, DP, TOS und PROT, besteht unsere Datenstruktur
aus sechs binomialen Bäumen,
die wie in 3 strukturiert sind. Es gibt
sechs Bäume,
wo der erste und der zweite Baum derselben binomialen Struktur wie
die unten angegebenen folgt. Bitte beachten Sie, dass nur die vier
kleinsten Bäume
in 3 abgebildet sind.
-
Der
erste Baum enthält
alle Filter, die mit dem höchsten
Prioritätsfeld
verknüpft
sind (das heißt,
wenn ein Filter das Feld höchster
Priorität
enthält,
werden alle Filter im ersten Baum eingesetzt). Wenn der Filter dieses
Felds nicht einschließt,
sondern das zweithöchste,
so werden alle Felder des Filters in den zweiten Baum eingesetzt,
usw. Wenn DP eine höhere
Priorität
als SP bei der Konfiguration gegeben ist, würde DP in der Stellung von
SP in 3 gefunden werden, und umgekehrt.
-
Diese
binomialen Bäume
sind ein wenig komplexer als gewöhnliche
binomiale Bäume.
In 3 stellen die Knoten kleinere Bäume dar.
Diese kleineren Bäume
sind Trie-Bäume
und werden weiter unten beschrieben werden. Wenn ein Filter in diese
Struktur eingesetzt wird, so setzen wir zuerst das Feld höchster Priorität in den
Trie-Baum an der Spitze des entsprechenden binomialen Baums ein.
Alle Knoten in einem Trie-Baum haben Zeiger zu ihren folgenden binomialen
Bäumen.
Wenn das Feld hoher Priorität
eingesetzt ist, wird der Rest der Felder rekursiv in den folgenden
binomialen Bäumen eingesetzt,
auf die durch diese neu eingesetzten Knoten gezeigt wird. Demgemäß zeigt
jeder Knoten in einem binomialen Baum zu vielfachen kleineren binomialen Bäumen. Die
Quellenreservierung wird im Knoten gespeichert, der das letzte eingefügte Feld
enthält.
-
4 zeigt
den dritten Baum nachdem der Filter (SP=16, TOS=0) eingesetzt ist.
Der Knoten in dem Trie-Baum enthält
Zeiger zu den folgenden binomialen Bäumen. In diesem Beispiel wird
dieselbe Prioritätsreihenfolge
wie oben erwähnt
(SA, DA, SP, DP, TOS, PROT) angenommen.
-
Wenn
der Paketklassifizierer in einem Router verwendet wird, muss der
Router jedes ankommende Packet klassifizieren, um herauszufinden,
ob ihm besondere Ressourcen zugeordnet sind. Dies wird dadurch gemacht,
dass die Filter durchsucht werden, um einen zu finden, der mit dem
ankommenden Packet zusammenpasst. Die Suche beginnt im ersten binomialen
Baum. Wenn in diesem Baum ein zusammenpassender Filter gefunden
wird, wird die damit verknüpfte
Aktion durchgeführt,
ansonsten wird die Suche im zweiten Baum fortgesetzt, usw. Wenn
kein Filter in irgendeinem der sechs Bäume gefunden wird, dann wird
eine Vorgabeaktion durchgeführt.
-
Trie-Baum
Struktur
-
Die
kleinen Bäume,
die als Knoten in 3 erscheinen, sind Trie-Bäume. Die
Knoten in diesen kleinen Bäumen
sind auf solche Weise gruppiert, dass, wenn ein Nachschlagen durchgeführt wird
und ein Knoten, der nicht mit dem ankommenden Packet zusammenpasst,
gefunden wird, das Nachschlagen nicht weiter in diesem Baum herab
durchgeführt
werden muss.
-
Jeder
Knoten im Baum enthält
die Anzahl von Bits des Feldes im ankommenden Paket, das verglichen werden
soll, und auch, was diese Bits sein sollten, um eine Übereinstimmung
zu erhalten. Wenn es eine Übereinstimmung
gibt, wird das Feld des ankommenden Pakets um diese vorgegebenen
Anzahl von Bits verschoben und der nächste Bit im ankommenden Paket
entscheidet, welcher der beiden Kinderknoten oder Knoten niedrigeren
Niveaus als nächster
besucht werden sollte. Dieser Bit wird verschoben, und es wird ein
neuer Vergleich im entsprechenden Kinderknoten durchgeführt.
-
Da
der am besten zusammenpassende Filter die längste Zusammenpassung ist,
muss die Suche fortfahren mit dem Ehrgeiz, eine längere Zusammenpassung
zu finden, sogar wenn schon eine Reservierung gefunden worden ist.
Eine Zusammenpassung ist besser als eine vorhergehende Zusammenpassung,
wenn sie ein längeres
Adressenpräfix
enthält
oder wenn sie mehr Felder enthält.
Nicht nur die Anzahl der Felder im Filter entscheidet jedoch, ob
dies eine bessere Zusammenpassung ist, sondern auch die Prioritätsreihenfolge.
Wenn wir dieselbe Prioritätsreihenfolge
wie oben erwäht
(SA, DA, SP, DP, TOS, PROT) haben, würde der Filter (SP, DP) eine
bessere Zusammenpassung ergeben als (SP, TOS, PROT), obwohl er weniger
Felder aufweist, aufgrund der Tatsache, dass DP höhere Priorität als sowohl
TOS als auch PROT hat. Dies nimmt natürlich an, dass diese beiden
Filter mit dem ankommenden Paket zusammenpassen. Wenn wir daher
einen zusammenpassenden Filter in einem Knoten finden, wird mit
der Suche fortgefahren, entweder herab im Trie-Baum oder, wenn dies
nicht möglich
ist, in den folgenden binomialen Bäumen, beginnend bei diesem
besonderen Knoten.
-
In 5 und 6 zeigen
wir, wie die Einfügung
von Filtern in diese Trie-Bäume
arbeitet. Wir veranschaulichen die Verwendung von Feldern von maximal
vier Bits, wo Einfügung
von Präfix
möglich
ist.
-
5 zeigt
die Einführung
der Felder 0100 und 010x, wobei x bezeichnet, dass dieser Bit nicht
im Filter eingeschlossen ist. In jedem Knoten wird die Anzahl von
Verschiebungen, die durchgeführt
werden soll, das Verschiebungsergebnis und ob eine Reservierung
in diesem Knoten existiert, gespeichert.
-
6 zeigt
die Einführung
von 0100 und 010x wie beim vorhergehenden Beispiel, jedoch auch
01xx, 1000 und 10++01.
-
Speichererweiterungen
-
Jeder
Filter, der in unserer Datenstruktur gehalten wird, ist als eine
Anzahl von Zellen gespeichert. Wegen der Struktur unseres Algorithmus
sind diese Zellen verhältnismäßig zahlreich,
ungefähr
zehn pro Filter. Sie sind auch verhältnismäßig klein. Diese Zellen sind
kleiner als die kleinste Größe des Speichers,
die der Kernel von NetBSD zuordnen kann, was bedeutet, dass wir
Speicher verschwenden, jedes Mal, wenn wir einen Filter machen.
Um damit zurechtzukommen und um Zeit zu sparen, wenn neue Filter
eingefügt
werden, ist eine neue Speicherzuordnungsstruktur implementiert worden.
Diese neue Struktur vereinigt eine Anzahl von kleinen Zellen in
größere Zellen,
die zugeordnet werden, wenn dies erforderlich ist. Sie entfernt
auch größere Zellen, wenn
keine kleinere Zelle in ihr verwendet wird.
-
Im
Abschnitt über
den Stand der Technik wurden einige Anwendungsgebiete von Paketklassifizierern aufgezählt. Unsere
Erfindung hat die größten Vorteile
in der Hauptsache für
zwei derselben; Paketklassifizierer die in Firewalls verwendet werden
und Paketklassifizierer, die im QoS-Zusammenhang verwendet werden. Was diese
beiden Anwendungsgebiete gemeinsam haben, ist in erster Linie, dass
die Anzahl von gespeicherten Filtern häufig groß ist und Klassifikation schnell
gemacht werden muss. Dies bedeutet, dass der Paketklassifizierer,
der in diesen Gebieten verwendet wird, gut in Bezug auf Zeit skalieren
muss, wenn viele Filter eingefügt
werden. Dies ist es, wofür
unsere Erfindung beabsichtigt ist.
-
Unser Paketklassifizierer
in Firewalls
-
Ein
Klassifizierer ist ein notwendiger und unverzichtbarer Teil einer
Firewall. Größere Anforderungen werden
erhoben an die Firewalls, wenn sie fortgeschrittener werden und
größere Bereiche
schützen.
Das Verhalten muss dasselbe trotz der Tatsache bleiben, dass mehr
Filter gespeichert sind. Neu durchgeführte Versuche haben gezeigt,
dass das Betriebsverhalten einer der schwächsten Punkte der heutigen
Firewalls ist. In dem Versuch wurden virtuelle Klienten anstelle
von realen Klienten verwendet. Wenn die Anzahl von virtuellen Klienten über 48 wächst, fällt das
Betriebsverhalten schnell für
viele der untersuchten Firewalls ab. Ein großer Anteil dieses Anwachsen
in der Nachschlagzeit hängt
wahrscheinlich von angewachsenen Kosten von Paketklassifizierung
ab. Um diese neuen Anforderungen zu erfüllen, versucht unser Paketklassifizierer,
die Skalierungseigenschaften bezüglich
der Nachschlagzeit der Datenstruktur des Paketklassifizierers zu
verbessern.
-
Unser
Paketklassifizierer wirkt schon als ein Paketfilter. Wenn unser
Paketklassifizierer als ein Gateway auf Schaltungsniveau arbeiten
sollte, müssen
Erweiterungen wie z. B. Sitzungsspeicher auch implementiert werden.
Eine Anzahl von Filtern und ihre entsprechenden Aktionen müssen ebenfalls
implementiert werden, damit die Firewall weiß, was sie mit den Paketen
nach Klassifizierung machen muss. Die üblichsten Aktionen sind "Annehmen", "Verweigern" und "Verweigern und Berichten". Ein Annahmefilter
lässt alle
zusammenpassenden Pakete durch. Ein Verweigerungsfilter verweigert
alle zusammenpassenden Pakete und ein Verweigern- und Melden- Filter verweigert
zusammenpassende Pakete und berichtet über sie. Ein Modul, der die
Reaktion auf diese Filter übernimmt,
muss ebenfalls implementiert werden, dies ist jedoch eine Frage
kleinerer Einstellungen des gegenwärtigen Codes.
-
Unser Paketklassifizierer
in einem QoS-Zusammenhang
-
Unabhängig davon,
welches Model von QoS im Netz eingeführt ist, werden Paketklassifizierer
benötigt.
Diese Paketklassifizierer werden häufig mit großen Mengen
von Flüssen
und großen
Mengen von Reservierungen arbeiten. Um damit schnell zurechtzukommen,
müssen
neue Paketklassifizierer mit besserem Betriebsverhalten entwickelt
werden. In dieser Hinsicht ist unser Paketklassifizierer interessant.
-
In
einem QoS freigegebenen Netz müssen
Pakete mit gespeicherten Reservierungen verglichen werden, um herauszufinden,
welcher Klasse von Dienst einem Paket gegeben werden soll. Ob dies
in jedem involvierten Knoten wie bei RSVP gemacht wird, oder ob
dies an den Grenzroutern des Netzwerks wie in vielen DiffServ Vorschlägen gemacht
wird, spielt für
den Paketklassifizierer keine Rolle. Dieselben Felder im Paketkopf
werden von Interesse sein, und die Anzahl von Filtern wird in beiden
Fällen
groß sein.
-
Eine
andere Anwendung für
unseren Paketklassifizierer in einem QoS-Zusammenhang ist als eine Überwachungseinheit.
Eine Überwachungseinheit,
wie dies oben erwähnt
wurde, unterscheidet Flüsse,
die zu viele Daten senden. Dies kann mit einem Paketklassifizierer
und neuen Modulen realisiert werden, die erinnern, wie viele Daten
jeder Fluss gesendet hat.
-
Die Überwachungseinheit
vergleicht alle ankommenden Pakete gegen die gespeicherten Filter.
Wenn ein Paket mit einem Filter und der entsprechenden Reservierung
zusammenpasst, wird der Fluss untersucht, ob er das einhält, was
vereinbart worden ist, oder ob er mehr sendet. Wenn mehr Pakete als
vereinbart gesendet werden, werden die Pakete entweder in bester
Anstrengung verschlechtert oder einfach fallengelassen. In diesem
Fall wird ebenfalls erfordert, dass der Paketklassifizierer im Stande
sein muss, ankommende Pakete schnell mit einer großen Menge
von Filtern zu vergleichen.
-
Die
Erfindung soll nur auf den Schutzbereich des Anspruchs begrenzt
sein, so dass die Beschreibung nicht als die Erfindung einschränkend angesehen
werden sollte.