-
ALLGEMEINER
STAND DER TECHNIK
-
Mit
Hilfe einer Netzwerkadresse kann Information über ein Netzwerk übertragen
werden. Beispielsweise kann ein Router Information empfangen, die
zu einer anderen Netzwerkvorrichtung weiterzuleiten ist. Der Router
kann eine Netzwerkadresse, z.B. eine Zieladresse, benutzen, um nach
der richtigen Routinginformation zu suchen. Mit zunehmender Größe des Netzwerkes
kann dem Router jedoch weniger Suchzeit zum Weiterleiten der Information
zur Verfügung
stehen. Es kann deshalb notwendig sein, die Suchzeit zum Weiterleiten
von Information zu reduzieren, was eine schnellere Verarbeitung
von Paketen bewirken kann.
-
Beispiele
für das
Suchen nach Routinginformation sind in US 2001/056417 A1 und WO 01/93196
A beschrieben. Das erste Dokument offenbart eine Tabelle mit Information,
die in einem Router zu verwenden ist, und die mehrere Suchschlüssel aufweist,
die mehreren Dateneinträgen
zugeordnet sind. Die Suchschlüssel
bilden eine baumartige Struktur, und jeder Suchschlüssel kann
erweitert werden, um zwei Suchschlüssel einer niedrigen Ebene zu
unterstützen,
die schließlich
die niedrigsten Ebenen der Baumstruktur abdecken. Unter Verwendung eines
Suchwerts wird an der Baumstruktur eine Binärsuche durchgeführt.
-
Das
zweite Dokument offenbart eine Routingtabelle mit Internetprotokoll-Adresspräfixen, wobei
ein eintreffendes Paket den Adresspräfixen zugeordnet wird. Dies
kann eine Vielzahl von übereinstimmenden
Einträgen
in der Tabelle ergeben, weshalb die kürzeren Internetprotokoll-Adresspräfixe verworfen
werden, und das längste übereinstimmende
Präfix übrig bleibt.
-
DARLEGUNG
DER ERFINDUNG
-
In
einem Aspekt stellt die Erfindung ein Verfahren zum Suchen nach
Routinginformation gemäß Anspruch
1 bereit. In einem anderen Aspekt stellt die Erfindung ein Routinggerät gemäß Anspruch
12 bereit. In einem anderen Aspekt stellt die Erfindung ein System
zum Durchführen
von Routing in einem Netzwerk gemäß Anspruch 15 bereit. In einem
weiteren Aspekt stellt die Erfindung ein Computerprogrammprodukt
zum Benutzen bei der Suche nach Routinginformation gemäß Anspruch
16 bereit.
-
KURZE BESCHREIBUNG
DER FIGUREN
-
Der
Gegenstand, der in Ausführungsformen der
Erfindung betrachtet wird, wird insbesondere im abschließenden Abschnitt
der Beschreibung verdeutlicht und klar beansprucht. Ausführungsformen
der Erfindung können
allerdings sowohl hinsichtlich der Anordnung als auch des Betriebsverfahrens,
zusammen mit Aufgaben, Merkmalen und Vorteilen derselben, am besten
durch Bezugnahme auf die folgende detaillierte Beschreibung nachvollzogen
werden, unter Betrachtung der begleitenden Figuren, wobei:
-
1 ein
System ist, das zum Umsetzen einer Ausführungsform der Erfindung geeignet
ist;
-
2 ein
Blockdiagramm eines Routingsystems gemäß einer Ausführungsform
der Erfindung ist;
-
3 ein
Blockdiagramm eines Adressenkennungserzeugers gemäß einer
Ausführungsform der
Erfindung ist;
-
4 ein
Adressenformat zeigt, das zur Benutzung mit einer Ausführungsform
der Erfindung geeignet ist;
-
5 ein
Blockablaufdiagramm von Operationen ist, die von einem Routingsystem
gemäß einer Ausführungsform
der Erfindung ausgeführt
werden; und
-
6 eine
Routinghierarchie zeigt, die zur Benutzung mit einer Ausführungsform
der Erfindung geeignet ist.
-
DETAILLIERTE
BESCHREIBUNG
-
Ausführungsformen
der Erfindung können ein
Verfahren und eine Vorrichtung zum Verbessern des Weiterleitens
von Information über
ein Netzwerk umfassen. Während
sich Information von einer Quelle zu einem bestimmten Ziel durch
ein Netzwerk bewegt, müssen
einige Netzwerkvorrichtungen nach Routinginformation suchen. Die
Suche kann eine Netzwerkadresse verwenden. Die Wartezeit einer Suche
kann direkt mit der Größe der Netzwerkadresse
in Zusammenhang stehen. Typischerweise werden umso mehr Speicherzugriffe
zum Suchen nach der Routinginformation benötigt, je mehr Bits zum Darstellen
einer Netzwerkadresse benutzt werden. Deshalb kann eine kleinere
Netzwerkadresse zu geringeren Wartezeiten während des Suchprozesses führen.
-
Die
Ausführungsformen
der Erfindung zielen darauf ab, eine Adressenkennung zu erzeugen,
die kleiner ist als die Netzwerkadresse, und die Adressenkennung
zu benutzen, um nach Routinginformation zu suchen. Der Begriff „Adressenkennung" im hier verwendeten
Sinne kann einen Wert bezeichnen, der durch eine Anzahl von Bits
dargestellt wird, die aus einer Netzwerkadresse hergeleitet werden.
Da die Adressenkennung typischerweise kleiner ist als die Netzwerkadresse,
kann die Wartezeit für
die Suche gesenkt werden. Entsprechend kann ein Benutzer bessere
Netzwerkdienste erzielen, indem Information schneller zwischen einzelnen
Punkten übertragen wird.
-
Es
verdient Erwähnung,
dass in der Beschreibung jeder Verweis auf „eine Ausführungsform" bedeutet, dass ein bestimmtes Merkmal,
eine bestimmte Struktur oder Eigenschaft, die im Zusammenhang mit
der Ausführungsform
beschrieben wird, in wenigstens einer Ausführungsform der Erfindung enthalten
ist. Das Auftreten des Ausdrucks „in einer Ausführungsform" an verschiedenen
Stellen der Beschreibung bezieht sich nicht notwendigerweise auf dieselbe
Ausführungsform.
-
Es
werden zahlreiche spezifische Details erörtert, um ein gründliches
Verständnis
der Ausführungsformen
der Erfindung zu ermöglichen.
Fachleute werden jedoch verstehen, dass die Ausführungsformen der Erfindung
ohne diese spezifischen Details umgesetzt werden können. In
anderen Fällen wurden
allgemein bekannte Verfahren, Prozesse, Komponenten und Schaltungen
nicht im Detail beschrieben, um die Ausführungsformen der Erfindung nicht
zu verundeutlichen. Man wird verstehen, dass die hier offenbarten
spezifischen strukturellen und funktionellen Details repräsentativ
sein können
und den Umfang der Erfindung nicht notwendigerweise begrenzen.
-
Unter
detaillierter Bezugnahme auf die Figuren, in denen gleiche Bauteile
mit gleichen Bezugszeichen versehen sind, ist in 1 ein
System gezeigt, das zur Umsetzung einer Ausführungsform der Erfindung geeignet
ist. 1 ist ein Blockdiagramm eines Systems 100,
das eine Anzahl von Netzwerkknoten umfasst, die durch ein oder mehrere
Kommunikationsmedien verbunden sind. Ein Netzwerkknoten („Knoten") kann in diesem
Kontext jede Vorrichtung mit einschließen, die zum Übertragen
von Information in der Lage ist, z.B. einen Computer, einen Server,
einen Schalter, einen Router, eine Brücke, ein Gateway, einen persönlichen
digitalen Assistenten, eine Mobilvorrichtung usw. Ein Kommunikationsmedium
kann jedes Medium mit einschließen,
das zum Tragen von Informationssignalen in der Lage ist, z.B. eine
ver drillte Leitung, ein Koaxialkabel, Lichtleitfasern, Funkfrequenzen,
elektronische, akustische oder optische Signale usw.
-
Insbesondere
kann das System 100 einen Quellknoten 102, einen
Transitknoten 106 und einen Zielknoten 110 umfassen.
Der Quellknoten, der Transitknoten 106 und der Zielknoten 110 können durch Kommunikationsmedien 104 und 108 verbunden sein,
wie dargestellt. Obwohl 1 nur einen Quellknoten, einen
Transitknoten und einen Zielknoten zeigt, wird man verstehen, dass
im System 100 jede beliebige Anzahl von Netzwerkknoten
benutzt werden kann, und dies trotzdem in den Umfang der Erfindung
fällt.
Ferner können
der Begriff „Verbindung" und Variationen
desselben in diesem Kontext physikalische und/oder logische Verbindungen
bezeichnen.
-
In
einer Ausführungsform
der Erfindung kann das System 100 ein paketvermitteltes
Netzwerk umfassen. Paketvermittlung kann in diesem Kontext das Übertragen
von Information über
ein Netzwerk in der Form relativ kurzer Pakete gemäß einem
oder mehreren Kommunikationsprotokollen bezeichnen. Ein Paket kann
in diesem Kontext eine Informationsmenge von begrenzter Länge umfassen,
wobei die Länge typischerweise
in Bits oder Bytes dargestellt ist. Ein Beispiel für eine Paketlänge könnte 1.000
Bytes sein. Ein Protokoll kann einen Satz an Befehlen umfassen, anhand
derer die Informationssignale über
das Kommunikationsmedium übertragen
werden. Beispielsweise kann das Protokoll ein Paketvermittlungsprotokoll
wie z.B. das Transmission Control Protocol (TCP) sein, wie definiert
durch Request for Comment (RFC) 793 Standard 7 der Internet
Engineering Task Force (IETF), übernommen
im September 1981 („TCP-Spezifikation"), und das Internetprotokoll
(IP), wie definiert durch RFC 791, Standard 5 der IETF, übernommen
im September 1981 („IP-Spezifikation"), beide verfügbar unter „www.ietf.org" (kollektiv bezeichnet
als „TCP/IP-Spezifikation").
-
In
einer Ausführungsform
der Erfindung kann der Quellknoten 102 einen Knoten umfassen,
der eine Menge an Information abgibt, die an Zielknoten 110 geliefert
werden soll. Der Zielknoten 110 kann einen Knoten umfassen,
bei dem es sich um den vorgesehenen Empfänger der Information handelt.
Der Transitknoten 106 kann einen Knoten umfassen, der die
Information zwischen dem Quellknoten 102 und dem Zielknoten 110 übermittelt.
In einigen Fällen können mehr
als ein Quellknoten, Zielknoten und/oder Transitknoten vorliegen.
Beispielsweise können
bei einer Multicast-Verbindung mehrere Zielknoten vorliegen. In
einem anderen Beispiel liegen häufig
mehrere Transitknoten zwischen einem Quellknoten und einem Zielknoten
vor. Ein Beispiel für
beide ist jeweils zur Verdeutlichung dargestellt, obwohl die Ausführungsformen
in dieser Hinsicht nicht beschränkt
sind. Information kann jede Art von Daten umfassen, die als ein
Signal dargestellt werden können,
z.B. ein elektrisches Signal, ein optisches Signal, ein akustisches
Signal usw. Beispiele für
Information in diesem Kontext können
Daten eines Gesprächs,
einer Videokonferenz, eines Video-Streams, einer elektronischen
Nachricht („E-Mail"), einer Voice-Mail-Nachricht, alphanumerischer
Symbole, Graphiken, Bilder, Video, Text usw. beinhalten.
-
Im
allgemeinen Betrieb kann der Quellknoten 102 über den
Transitknoten gemäß der TCP/IP-Spezifikation
Information an den Zielknoten 110 senden. Der Quellknoten
unterteilt eine Menge an Information in eine Serie von Paketen.
Jedes Paket kann einen Teil der Information sowie Steuerungsinformation
enthalten. Die Steuerungsinformation kann den Transitknoten im Netzwerk
helfen, jedes Paket an den Zielknoten weiterzuleiten. Der Quellknoten 102 kann
die Pakete an den Transitknoten 106 senden. Der Transitknoten 106 kann
die Pakete empfangen, sie für
kurze Zeit speichern, und sie dann an den nächsten Transitknoten oder den
Zielknoten 110 weitergeben. Der Zielknoten 110 kann schließlich die
gesamte Serie von Paketen empfangen und sie benutzen, um die ur sprünglich von
Quellknoten 102 gesendete Information zu reproduzieren.
-
2 zeigt
ein Blockdiagramm eines Routingsystems gemäß einer Ausführungsform
der Erfindung. 2 zeigt ein Routingsystem 200,
das Funktionen aufweist, die als Software umgesetzt werden können, die
von einem Prozessor, von Hardwareschaltungen oder -strukturen oder
einer Kombination der beiden ausgeführt wird. Der Prozessor kann
ein allgemeiner oder ein dedizierter Prozessor sein, z.B. ein Prozessor
aus der Prozessorfamilie, die von der Intel Corporation, Motorola
Incorporated, Sun Microsystems und anderen hergestellt wird. Die
Software kann Programmierlogik, Befehle oder Daten umfassen, die
bestimmte Funktionen für
eine Ausführungsform
der Erfindung implementieren. Die Software kann in einem Medium
gespeichert sein, auf das eine Maschine zugreifen kann, oder in
einem computerlesbaren Medium, z.B. einem Lesespeicher (ROM), einem
Schreib-Lesespeicher (RAM), einer Magnetplatte (z.B. Diskette und
Festplatte), einer optischen Platte (z.B. CD-ROM) oder jedem anderen Datenspeichermedium.
In einer Ausführungsform
der Erfindung können
die Medien Programmierbefehle in einem komprimierten und/oder verschlüsselten
Format speichern, und können
Befehle speichern, die von einem Installierer zusammengestellt oder
installiert werden müssen,
bevor sie von dem Prozessor ausgeführt werden. Alternativ kann
eine Ausführungsform
der Erfindung als bestimmte Hardwarekomponenten implementiert sein,
die fest verdrahtete Logik zum Ausführen der genannten Funktionen
enthalten, oder durch jede beliebige Kombination programmierter
allgemein einsetzbarer Computerkomponenten und speziell angefertigter
Hardwarekomponenten.
-
In
einer Ausführungsform
der Erfindung kann das Verarbeitungssystem 200 eine Empfangsschnittstelle 202,
einen Adressenkennungserzeuger 204, ein Routingmodul 206 und
eine Sendeschnittstelle 208 umfassen. Die Empfangsschnittstelle 202 kann Informationspakete
empfangen, die Routinginformation benötigen. Die Routinginformation
kann standardmäßige Routinginformation
umfassen, z.B. eine Portnummer, eine Kanalkennung, eine Gerätekennung,
Warteschlangeninformation usw. Der Adressenkennungserzeuger 204 kann
die Netzwerkadresse für
die Pakete verarbeiten, um eine Adressenkennung zu erzeugen, die
kürzer
sein kann als die Netzwerkadresse. Das Routingmodul 206 kann
die Adresskennung benutzen, um nach Routinginformation für die Pakete
zu suchen. Zum Suchen nach der Routinginformation kann jede Art
von Suchalgorithmus benutzt werden. Eine Ausführungsform der Erfindung kann
einen Suchalgorithmus gemäß dem empfohlenen
IETF-Standard namens „An
Internet Protocol Version Six (IPv6) Aggregatable Global Unicast
Address Format",
RFC 2374, Juli 1998 („RFC 2374") benutzen, verfügbar unter „www.ietf.org". Die Sendeschnittstelle 208 kann
die Pakete unter Verwendung der Routinginformation an einen anderen Netzwerkknoten
senden. Die Struktur und der Betrieb jedes einzelnen Moduls sollen
im Folgenden genauer erörtert
werden.
-
3 ist
ein Blockdiagramm eines Adressenkennungserzeugers gemäß einer
Ausführungsform
der Erfindung. 3 zeigt einen Adressenkennungserzeuger 300,
der beispielsweise eine Adressenkennung 204 darstellen
kann. In dieser Ausführungsform
der Erfindung kann der Adressenkennungserzeuger 300 ein
Adressenextraktionsmodul 302, ein Vergleichermodul 304 und
ein Entscheidungsmodul 306 umfassen.
-
Das
Adressenextraktionsmodul 302 kann beispielsweise von der
Empfangsschnittstelle 202 Paketinformation empfangen. In
einer Ausführungsform
der Erfindung kann die Paketinformation einen Paket-Header umfassen,
der Steuerungsinformation aufweist, z.B. eine Quelladresse, eine
Zieladresse, eine Paketkennung, eine Paketlänge usw. Das Adressenextraktionsmodul 302 kann
aus der Paketinformation die Information extrahieren, die zum Erzeugen
einer Adressenkennung notwendig ist. Das Adressenextraktionsmodul 302 kann
dann die extrahierte Information an das Vergleichermodul 304 senden.
-
Eine
Ausführungsform
kann eine Netzwerkadresse RFC 2374 benutzen. RFC 2374 begrenzt Ebenen
in der Routing-Hierarchie
unter Verwendung eines Satzes von Kennungen, um den ursprünglichen
Ipv6-Adressraum zu aggregieren und zu bewahren. RFC 2374 spezifiziert
drei Kennungen zum Festlegen der Bitgrenzen einer Adresse. Bei den
drei Kennungen handelt es sich um eine Top-Level-Aggregationskennung
(TLA), eine Next-Level-Aggregationskennung (NLA) und eine Site-Level-Aggregationskennung
(SLA). Die anfänglichen
Zuweisungen zu einem Internetdienstanbieter (Internet Service Provider – ISP) können anhand
einer TLA oder einer Sub-TLA erfolgen. Diese Organisationen können dann
ihren Kunden-ISPs NLAs zuweisen, die wiederum Endnutzern SLAs zuteilen
können,
damit diese ihre eigene lokale Topologie schaffen können. Die Schnittstellenkennung
kann den Host-Abschnitt
einer IPv6-Adresse darstellen, wie er von den 64 am weitesten rechts
angeordneten Bits der Adresse angezeigt wird.
-
4 zeigt
ein Adressenformat, das zur Benutzung mit einer Ausführungsform
der Erfindung geeignet ist. 4 zeigt
ein Adressenformat 400 gemäß RFC 2374. Das Adressenformat 400 kann
eine Gesamtlänge
von 128 Bits aufweisen. In einer Ausführungsform der Erfindung kann
das Adressenformat 400 ein Formatpräfix (FP) 402, eine
TLA 404, ein reserviertes Feld (RES) 406, eine
NLA 408, eine SLA 410 und eine Schnittstellenkennung 412 aufweisen. Wie
zuvor erwähnt,
kann die TLA 404 die obere Ebene (Top Level) der Routing-Hierarchie darstellen. Router
ohne Voreinstellung weisen für
jede aktive TLA einen Routing-Tabelleneintrag auf, und weisen typischerweise
außerdem
weitere Einträge
auf, die Routinginformation für
die TLA liefern, in der sie angeordnet sind. Organisationen, denen
TLA 404 zugewiesen wurde, können NLA 408 benutzen,
um eine Adressierungshierarchie zu erzeugen und Sites zu identifizieren.
Eine einzelne Organisation kann dann die SLA 410 benutzen,
um eine eigene lokale Adressierungshierarchie zu erzeugen und Subnetze
zu identifizieren. Die Schnittstellenkennung 412 kann eine
Host- oder Geräteadresse
darstellen, wie z.B. eine Schichtenkennung für die Medienzugriffskontrolle
(media access control MAC). Die Länge der Schnittstellenkennung 412 kann
beispielsweise 64 Bits umfassen.
-
Die
Operationen der Systeme 100, 200 und 300 sowie
die Benutzung von Adressenformat 400 sollen unter Bezugnahme
auf 5 und die begleitenden Beispiele weiter beschrieben
werden. Obwohl die hier gezeigte 5 eine bestimmte
Verarbeitungslogik aufweisen kann, wird man verstehen, dass die
Verarbeitungslogik lediglich ein Beispiel dafür darstellt, wie die hier beschriebenen
allgemeinen Funktionen implementierbar sind. Ferner muss eine jeweilige
Operation innerhalb einer bestimmten Verarbeitungslogik nicht notwendigerweise
in der gezeigten Abfolge stattfinden, es sei denn, dies wird ausdrücklich so
vorgegeben.
-
5 ist
ein Blockablaufdiagramm von Programmierlogik, die von einem Routingsystem
gemäß einer
Ausführungsform
der Erfindung ausgeführt wird.
In einer Ausführungsform
der Erfindung kann das Routingsystem die Software und/oder Hardware bezeichnen,
die benutzt wird, um die Funktionen zum Weiterleiten von Information
bereitzustellen, wie sie hier beschrieben sind. In dieser Ausführungsform
der Erfindung kann das Routingsystem als Teil des intermediären Knotens 106 implementiert
sein. Man wird jedoch verstehen, dass diese Funktionen von jedem beliebigen
Gerät,
oder einer Kombination von Geräten,
die an einem beliebigen Ort in einem Kommunikationsnetzwerk angeordnet
sind, implementiert werden können,
und trotzdem in den Umfang der Erfindung fallen.
-
5 kann
eine Programmierlogik 500 zum Suchen nach Routinginformation
darstellen. Ein vorgegebener Wert, der auf einer Aggregationskennung basiert,
kann an Block 502 gespeichert werden. An Block 504 kann
ein Paket mit einer Netzwerkadresse empfangen werden. An Block 506 kann
eine Adressenkennung erzeugt werden, die auf der Netzwerkadresse
basiert. Eine Suche nach der Routinginformation des Pakets kann
an Block 508 unter Verwendung der Adressenkennung durchgeführt werden.
Das Paket kann an Block 510 mit Hilfe der Routinginformation
gesendet werden.
-
In
einer Ausführungsform
der Erfindung kann der vorgegebene Wert ein Präfix für eine Netzwerkadresse sein.
Das Präfix
kann beispielsweise auf einer Aggregationskennung basieren. Ein
Beispiel einer Aggregationskennung können die Aggregationskennungen
sein, die in RFC 2374 beschrieben sind, z.B. eine TLA, NLA oder
SLA. Der vorgegebene Wert kann auf Grundlage der Position des Routingsystems innerhalb
eines Netzwerks konfiguriert werden. Wenn das Routingsystem beispielsweise
an einer Position implementiert ist, die als eine TLA-Kennung zugewiesen
ist, kann der vorgegebene Wert das Präfix sein, das der TLA-Kennung
zugeordnet ist. Dies kann beispielsweise bei einem großen ISP
der Fall sein. Wenn das Routingsystem in einem anderen Beispiel
an einer Position angeordnet ist, der eine TLA-Kennung und eine
NLA-Kennung zugeordnet ist,
kann der vorgegebene Wert das Präfix
sein, das der TLA-Kennung und der NLA-Kennung zugeordnet ist. Wenn
das Routingsystem in einem weiteren Beispiel an einer Position angeordnet
ist, der eine TLA-Kennung,
eine NLA-Kennung und eine SLA-Kennung zugeordnet ist, kann der vorgegebene Wert
das Präfix
sein, das allen drei Kennungen zugeordnet ist.
-
In
einer Ausführungsform
der Erfindung kann das Abrufen eines ersten Wertes aus der Netzwerkadresse
eine Adressenkennung erzeugen, die auf der Netzwerkadresse basiert.
Ein Beispiel für
den ersten Wert kann z.B. eine Kombination aus TLA-Kennung, NLA-Kennung
und SLA-Kennung sein. Wie bei dem vorgegebenen Wert kann die genaue
Kombination für
den ersten Wert auf der Position des Routingsystems beruhen, die
von einer Aggregationskennung angezeigt wird. Der erste Wert kann
mit dem vorgegebenen Wert verglichen werden. Wenn eine Übereinstimmung
mit dem vorgegebenen Wert vorliegt, kann ein zweiter Wert aus der
Netzwerkadresse abgerufen werden. Ein Beispiel für einen zweiten Wert kann die übrige Netzwerkadresse
sein, ohne die zuvor für
den ersten Wert abgerufenen Bits. Die Adressenkennung kann unter
Verwendung des zweiten Wertes erzeugt werden. Wenn keine Übereinstimmung
mit dem vorgegebenen Wert vorliegt, kann die Adressenkennung unter
Verwendung der gesamten Netzwerkadresse erzeugt werden, z.B. der
Kombination des ersten Wertes und des zweiten Wertes.
-
In
einer Ausführungsform
der Erfindung kann die Netzwerkadresse gemäß IPv6 zugewiesen werden. In
dieser Ausführungsform
kann die Netzwerkadresse 128 Bits umfassen, einschließlich einer Schnittstellenkennung
von 64 Bits. Wenn der zweite Wert die Schnittstellenkennung umfasst,
kann die erzeugte Adressenkennung kleiner sein als die gesamte Netzwerkadresse
(z.B. 64 Bits gegenüber
128 Bits). Entsprechend kann die Suchzeit für Routinginformation im Vergleich
zur Benutzung der gesamten Netzwerkadresse reduziert werden.
-
6 zeigt
eine Routingstruktur, die zur Benutzung mit einer Ausführungsform
der Erfindung geeignet ist. 6 zeigt
eine hierarchische Routingstruktur 600, die beispielsweise
gemäß RFC 2374
erstellt wurde. Die Routingstruktur 600 kann TLAs umfassen,
die als T1, T2 und Tn bezeichnet sind. Die Routingstruktur 600 kann
auch NLAs umfassen, die als N1, N2 und Nn bezeichnet sind. Ferner
kann die Routingstruktur 600 SLAs umfassen, die als S1,
S2 und Sn bezeichnet sind. Schließlich kann die Routing struktur 600 Schnittstellenkennungen
umfassen, die als H1, H2 und Hn bezeichnet sind. Bei einer hierarchischen
Routingstruktur kann jeder Knoten ein eindeutiges Präfix speichern,
das auf seiner Aggregationsebene basiert. Beispielsweise kann S1 ein
eindeutiges Präfix
T1N1S1 speichern. Alle Pakete, die für die Knoten unter S1 bestimmt
sind, sollten als Teil ihrer Netzwerkadresse dieses konstante Präfix aufweisen.
Die Ausführungsformen
der Erfindung können
dieses konstante Präfix
benutzen, um die Wartezeit im Zusammenhang mit dem Suchen nach Routinginformation
zu verringern.
-
6 kann
benutzt werden, um dieses Konzept zu erläutern. Nehmen wir an, S1 ist
ein Site-Level-Kantenrouter. In diesem bestimmten Fall können die
Werte der Felder TLA, NLA und SLA (T1N1S1) aus der Zieladresse eines
Pakets extrahiert und mit einem zuvor gespeicherten Wert (z.B. dem
vorgegebenen Wert) verglichen werden. Wenn die Werte übereinstimmen,
kann das Paket als eintreffendes Paket betrachtet werden, und die
unteren 64 Bits (H1) können
dazu benutzt werden, nach der Routinginformation zu suchen. Anderenfalls
können
alle 128 Bits (T1N1S1H1) der Adresse dazu benutzt werden, eine normale
LPM-(Longest Prefix Matching)-Suche durchzuführen.
-
Man
wird verstehen, dass die Ausführungsformen
auf jeden Netzwerkknoten auf jeder Ebene innerhalb einer Routinghierarchie
angewandt werden können.
Eine Präfixmaske
und Präfixwerte
können gespeichert
und dazu benutzt werden, eintreffende Pakete zu erfassen. Wenn die
vorderen Bits der Zieladresse eines Pakets mit dem auf dieser Ebene
gespeicherten Präfix übereinstimmen,
können
diese Bits ausgelassen werden, und nur die verbleibenden Bits der
Adresse können
benutzt werden, um nach der passenden Routinginformation zu suchen.