DE60131596T2 - Stapelbare Sucheinrichtung - Google Patents
Stapelbare Sucheinrichtung Download PDFInfo
- Publication number
- DE60131596T2 DE60131596T2 DE60131596T DE60131596T DE60131596T2 DE 60131596 T2 DE60131596 T2 DE 60131596T2 DE 60131596 T DE60131596 T DE 60131596T DE 60131596 T DE60131596 T DE 60131596T DE 60131596 T2 DE60131596 T2 DE 60131596T2
- Authority
- DE
- Germany
- Prior art keywords
- search
- match
- result
- search engine
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/52—Multiprotocol routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2458—Modification of priorities while in transit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Stacking Of Articles And Auxiliary Devices (AREA)
- Control And Safety Of Cranes (AREA)
- Warehouses Or Storage Devices (AREA)
Description
- GEBIET DER ERFINDUNG
- Diese Erfindung betrifft allgemein Adressen-Suchmaschinen, die dazu benutzt werden, Informationen durch ein Kommunikationsnetzwerk zu leiten. Insbesondere betrifft die Erfindung ein Verfahren zur Verarbeitung eines Datenpaketes gemäß dem Oberbegriff von Anspruch 1 sowie ein Paket-Verarbeitungssystem gemäß dem Oberbegriff von Anspruch 8.
- HINTERGRUND DER ERFINDUNG
- Datenkommunikations-Knoten mit hohen Datenraten, wie z. B. Router und Switches, kommunizieren miteinander, indem sie Datenpakete über Kommunikations-Protokolle, wie HTTP, TCP/IP, SMB und ähnliche, senden und empfangen. Wenn ein Knoten ein Datenpaket empfängt, führt er eine Adressensuche durch, um das Paket richtig zu verarbeiten. Bei der Durchführung einer Adressensuche wird ein Schlüssel, der Informationen von dem Paket enthält, mit Einträgen in einer Tabelle verglichen. Wenn eine Übereinstimmung gefunden wird, wird das Paket entsprechend Informationen verarbeitet, die dem übereinstimmenden Eintrag zugeordnet sind.
- Eine Art der Suche ist eine Quellen-Suche, bei der eine Quelladresse an die Nachschlagetabelle angelegt wird, um zur Rechnungserstellung und Abrechung, zur Quellen-/Anwendungs-Überwachung und zum Quellen-Lernen den Absender des Paketes zu identifizieren. Eine zweite Art der Suche ist die Ziel-Suche, bei der ein Zieladressen-Schlüssel an die Nachschlagetabelle angelegt wird, um festzustellen, wie und wohin das Paket zu leiten ist.
-
- Da das Internet weiter an Größe und Komplexität zunimmt, explodiert weiterhin die Anzahl von Einträgen, die in den Nachschlagetabellen gespeichert werden müssen. Eine Art, auf der dieses explosionsartige Wachstum behandelt werden kann, ist die Einführung von Knoten mit Datenbanken immer größerer Kapazität. Angesichts der mit der Entwicklung neuer Produkte verbundenen Zeitverzögerungen und der einzigartigen Anforderungen jedes Netzwerks besteht der Bedarf an einer flexibleren und skalierbaren Lösung zur Unterstützung der erwarteten Anzahl von Einträgen in Nachschlagetabellen.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Die aktuelle Erfindung erreicht dieses Ziel durch ein Verfahren gemäß Anspruch 1 und ein System gemäß Anspruch 8.
- Die Erfindung liefert ein skalierbares System und Verfahren zur Erhöhung der Größe einer Nachschlagetabelle, ohne die Leitungs-Datenrate wesentlich zu beeinträchtigen und ohne dass ein Chip neu entwickelt werden muss, um eine erwartete Anzahl von Einträgen in der Nachschlagetabelle zu unterstützen.
- Gemäß der Erfindung enthält ein Datenkommunikationsnetz eine Vielzahl von Datenkommunikations-Vermittlungen, die Datenpakete senden und empfangen. Bei der Verarbeitung eines eintreffenden Datenpaketes erzeugt eine bestimmte Vermittlung einen Such-Schlüssel für das Paket und sendet den Such-Schlüssel an eine Vielzahl von Suchmaschinen. Der Such-Schlüssel wird dazu benutzt, eine Nachschlagetabelle, die einer Suchmaschine zugeordnet ist, abzusuchen und ein Suchergebnis zu erzeugen. Das Suchergebnis enthält Übereinstimmungs-Qualitäts-Daten, die einen erzeugten Typ von Übereinstimmung anzeigen. In einem bestimmten Aspekt der Erfindung zeigen die Übereinstimmungs-Qualitäts-Daten eine exakte Übereinstimmung, eine teilweise Übereinstimmung oder keine Übereinstimmung an. Die Vermittlung vergleicht die Übereinstimmungs-Qualität von mindestens einem Paar von Suchergebnissen und gibt auf der Basis der Übereinstimmungs-Qualität ein Suchergebnis zurück.
- In einem weiteren speziellen Aspekt der Erfindung wird ein erstes Suchergebnis, das von einer ersten Suchmaschine erzeugt wird, an eine zweite Suchmaschine übertragen, die mit der ersten Suchmaschine gekoppelt ist. Die Übereinstimmungs-Qualität des ersten Suchergebnisses wird mit der Übereinstimmungs-Qualität eines zweiten Suchergebnisses verglichen, das von der zweiten Suchmaschine erzeugt wurde. Wenn die Übereinstimmungs-Qualität des zweiten Suchergebnisses kleiner als die Übereinstimmungs-Qualität des ersten Suchergebnisses ist, wird das zweite Suchergebnis verworfen. Wenn die Übereinstimmungs-Qualität des zweiten Suchergebnisses jedoch größer als die Übereinstimmungs-Qualität des ersten Suchergebnisses ist, wird das erste Suchergebnis verworfen.
- KURZBESCHREIBUNG DER ZEICHUNGEN
- Diese und andere Eigenschaften, Aspekte und Vorteile der vorliegenden Erfindung werden vollständiger verstanden, wenn sie mit Bezug auf die folgende detaillierte Beschreibung, die beigefügten Ansprüche und begleitenden Zeichnungen betrachtet werden, in denen:
-
1 eine schematische Darstellung eines Datenkommunikationsnetzes ist; -
2 ein detaillierteres Diagramm einer Vermittlungseinrichtung ist, die mehrere Suchmaschinen enthält; -
3 ein allgemeines Format eines Suchergebnisses zeigt, das von den Suchmaschinen in2 erzeugt wird; -
4 ein Flussdiagramm eines Suchprozesses ist, der von den Suchmaschinen in2 durchgeführt wird; und -
5 eine Darstellung einer Suche ist, die von den Suchmaschinen in2 auf der Basis eines Beispiel-Schlüssels durchgeführt wird. - BESCHREIBUNG DER ERFINDUNG
-
1 ist eine schematische Darstellung eines Datenkommunikationsnetzes10 . Das Netzwerk10 enthält zwei lokale Segmente12 ,14 und eine Verbindung zu einem entfernten Netzwerk16 . Knoten, die mit A-J bezeichnet sind, repräsentieren Geräte, die mit den lokalen Segmenten verbunden sind. Die Geräte sind vorzugsweise Netzwerk-Endstationen, wie zum Beispiel Personal-Computer, Workstations oder Server, die entsprechende Netzwerk-Schnittstellen für die Paket-Kommunikation mit anderen Geräten haben. - Eine Vermittlungseinrichtung
20 enthält drei Anschlüsse22 ,23 ,24 und vermittelt Netzwerk-Verkehr zwischen den Segmenten12 ,14 und dem entfernten Netzwerk16 . Das entfernte Netzwerk16 kann auch andere Vermittlungseinrichtungen enthalten, wie z. B. Vermittlungseinrichtung21 , die dann andere Segmente (nicht gezeigt) mit dem Netzwerk verbindet. Die Vermittlungseinrichtungen20 ,21 sind vorzugsweise Gateway-Einrichtungen, wie zum Beispiel Switches und/oder Router und/oder andere ähnliche Einrichtungen. Die Vermittlungseinrichtung20 erlaubt es den Geräten an einem Segment, mit Geräten an anderen Segmenten zu kommunizieren, sowie mit anderen Vermittlungseinrichtungen zu kommunizieren. - Die Geräte kommunizieren miteinander über ein Kommunikationsprotokoll, wie z. B. HTTP, TCP/IP oder SMB. Diese Protokolle erlauben es den Geräten, Netzwerk-Rahmen zu senden und zu empfangen, wobei jeder Netzwerk-Rahmen vorzugsweise eine Zieladresse, eine Quelladresse und ein Datenfeld enthält. Wenn die Vermittlungseinrichtung
20 einen Rahmen von einem Gerät empfängt, ruft sie vorzugsweise mehrere Suchmaschinen auf, um deren entsprechende Nachschlagetabellen nach den Quell- und/oder Zieladressen abzusuchen, um vorzugsweise Funktionen des Quellen-Lernens, der Rechnungserstellung, Abrechung, des Routing, der Überwachung und ähnliches durchzuführen. Weitere Hintergrundinformationen über Switches findet man in einer Vielzahl von Literaturhinweisen, wie z. B. Fast Ethernet (1997) von L. Quinn et al., Computer Networks (3. Auflage 1996) von A. Tannenbaum und High-Speed Networking with LAN Switches (1997) von G. Held. -
2 ist ein detaillierteres Diagramm der Vermittlungseinrichtung20 . Die Vermittlungseinrichtung20 enthält vorzugsweise einen Paket-Prozessor32 und mehrere Suchmaschinen30a –30d , wobei die mehreren Suchmaschinen30a –30d vorzugsweise identische Schaltkreis-Zusammensetzungen haben. - Die Suchmaschine
30a , die repräsentativ für die Suchmaschinen30a –30d ist, enthält einen Speicher31 , der eine Nachschlagetabelle (nicht gezeigt) enthält, in der vorzugsweise Informationen gespeichert sind, die verschiedenen Netzwerkadressen zugeordnet sind. Die Informationen können zum Beispiel Routing-Informationen zur Weiterleitung der Datenpakete und ähnliches enthalten. Die Nachschlagetabelle enthält vorzugsweise Einträge, die sich von den Einträgen in anderen Nachschlagetabellen unterscheiden, die von anderen Suchmaschinen unterhalten werden. Auf diese Weise tritt eine exakte Übereinstimmung für einen bestimmten Schlüssel nur in einer Suchmaschine auf. In einer alternativen Ausführung wird in einer einzigen Suchmaschine eine Haupt-Nachschlagetabelle für den Zugriff durch die anderen Suchmaschinen unterhalten. - Die Suchmaschine
30a enthält auch eine Suchlogik33 , die dazu benutzt wird, die Nachschlagetabelle abzusuchen. Die Suchlogik33 kann eine Vielzahl von Suchverfahren umfassen, einschließlich Binär-, Linear-Suche, CAM, Binärbaum oder Hash-Verfahren. Die Suchmaschine30a ist vorzugsweise ein ASIC (Application Specific Integrated Circuit, anwendungsspezifischer integrierter Schaltkreis), der es erlaubt, Suchen in der Nachschlagetabelle in Hardware durchzuführen. Alternativ ist die Suchmaschine ein Mikroprozessor, der es erlaubt, die Suchen in Software durchzuführen. - Die Vermittlungseinrichtung
20 enthält auch einen Paket-Prozessor32 , der mit den mehreren Suchmaschinen30a –30d kommuniziert. Der Paket-Prozessor32 empfängt ein Datenpaket über einen Datenbus34 . Bei Empfang des Datenpaketes speichert der Paket-Prozessor32 vorzugsweise das Paket in einem temporären Paketspeicher35 , bis mindestens ein endgültiges Suchergebnis von den Suchmaschinen zurück geliefert wird. Eine Paketanalyse- und Schlüssel-Extraktions-Logik37 entnimmt vorzugsweise die Quell-/Zieladresse aus dem Paket, um einen Such-Schlüssel zu bilden, der vorzugsweise aus 144 Bit besteht. Ein Fachmann sollte jedoch erkennen, dass abhängig von der speziellen Anwendung der Such-Schlüssel jede beliebige Größe haben kann und jede gewünschte Information enthalten kann. Zum Beispiel kann der Such-Schlüssel die Quell-/Zieladresse, sowohl die Quell-, als auch die Zieladresse, die Quell- und die Zieladressen und zusätzliche Informationen (wie zum Beispiel Informationen über das virtuelle LAN), oder jeden Parameter und jede Kombination davon enthalten. - Der Paket-Prozessor
32 liefert den Such-Schlüssel vorzugsweise an jede Suchmaschine30a –30d gleichzeitig über den Bus36 . Ein Fachmann sollte jedoch erkennen, dass die Such-Schlüssel nicht gleichzeitig geliefert werden müssen, sondern sequentiell oder in jeder gewünschten Reihenfolge an jede Suchmaschine übertragen werden können. Der Paket-Prozessor32 kann auch mit dem Schlüssel ein Kennzeichen zur Kennzeichnung des entsprechenden Paketes, das dem Schlüssel zugeordnet ist, erzeugen und senden. Bei Empfang des Schlüssels führt jede Suchmaschine30a –30d einzeln eine Suche in ihrer Nachschlagetabelle durch, um ein Suchergebnis zu erzeugen. - Die Suchmaschinen
30a –30d können so beschrieben werden, dass sie aufeinander geschichtet sind, wobei jede Suchmaschine das Ergebnis ihrer Suche an eine benachbarte nachgeordnete Suchmaschine liefert, bis ein einziges endgültiges Ergebnis an den Paket-Prozessor32 zurückgeliefert wird. In diesem Zusammenhang sendet die Suchmaschine ganz oben auf dem Stapel30d ihr Ergebnis an eine benachbarte nachgeordnete Suchmaschine30c , die das empfangene Ergebnis entweder bestätigt und sendet, oder auf der Grundlage der Qualität der Übereinstimmung ihr eigenes Ergebnis sendet. Das Ergebnis zeigt vorzugsweise eine exakte Übereinstimmung, eine teilweise Übereinstimmung oder keine Übereinstimmung an. Obwohl mehrere Suchmaschinen eine teilweise Übereinstimmung zurückliefern können, tritt eine exakte Übereinstimmung vorzugsweise nur in einer Suchmaschine auf. - Die Vergleichs-, Überprüfungs- und Übertragungs-Schritte werden von jeder nachgeordneten Suchmaschine wiederholt, wobei die Suchmaschine ganz unten im Stapel
30a die Überprüfung durchführt und ein endgültiges Ergebnis an den Paket-Prozessor32 zurückliefert. Vorzugsweise hat nur die Suchmaschine unten im Stapel30a ihre Schnittstelle zum Paket-Prozessor eingeschaltet. - Ein Fachmann sollte jedoch erkennen, dass die Suchmaschinen nicht übereinander gestapelt sein müssen, und das Suchergebnis nicht notwendigerweise von einer übergeordneten Suchmaschine an eine nachgeordnete Suchmaschine gesendet werden muss, solange jede Suchmaschine ihr Suchergebnis sequentiell an eine andere vorgesehene Suchmaschine sendet.
- Das endgültige Ergebnis wird vorzugsweise an eine Weiterleitungs-Entscheidungs-Logik
39 weitergegeben, die das Ergebnis untersucht und einen vorher festgelegten Satz von Regeln anwendet, um zu bestimmen, ob das Paket weitergeleitet werden muss und an welchen Anschluss oder an welche Anschlüsse es weitergeleitet werden muss. Die Weiterleitungs-Entscheidungs-Logik kann auch die Prioritätsebene des Paketes untersuchen. Die Vermittlungseinrichtung20 leitet im Allgemeinen die Rahmen mit höherer Priorität vor den Rahmen niedrigerer Priorität weiter. -
3 zeigt ein allgemeines Format eines Suchergebnisses40 , das von jeder Suchmaschine30a –30d erzeugt wird und an eine nachgeordnete Suchmaschine oder an den Paket-Prozessor32 übertragen wird. Das Suchergebnis40 enthält vorzugsweise eine Nutzinformation40a , die Übereinstimmungs-Qualität40b und das Kennzeichen40c . Die Nutzinformation40a besteht vorzugsweise aus 176 Bit, die Daten über einen exakt übereinstimmenden Eintrag aus der Nachschlagetabelle liefern. Solche Daten können zum Beispiel Routing-Informationen für das Paket, wie z. B. eine IP-Adresse und/oder Anschluss-Nummer enthalten. Vorzugsweise enthalten die Nutzinformations-Bits40a gültige Informationen nur, wenn in der Nachschlagetabelle eine Übereinstimmung gefunden wurde. Die Übereinstimmungs-Qualität40b besteht vorzugsweise aus zwei Bit, die Informationen über die Art der Übereinstimmung enthalten, die sich aus der Suche in der Nachschlagetabelle ergibt. Übereinstimmungs-Qualitäten umfassen vorzugsweise von der höchsten Qualität bis zur niedrigsten eine exakte Übereinstimmung (Übereinstimmungs-Typ "01"), eine teilweise Übereinstimmung (Übereinstimmungs-Typ "10") und keine Übereinstimmung (Übereinstimmungs-Typ "00"). Eine teilweise Übereinstimmung kann zum Beispiel eine teilweise IP-Adressen-Übereinstimmung widerspiegeln, wie z. B. eine IP-Subnetz-Übereinstimmung. - Das Kennzeichen
40c , das auch als Teil des Suchergebnisses bereitgestellt werden kann, ist vorzugsweise dasselbe Kennzeichen, das vom Paket-Prozessor32 erzeugt wurde, um den Pfad36a ,36b ,36c ,36d zu kennzeichnen, der zur Übertragung des Such-Schlüssels genommen wurde. Das Kennzeichen wird vorzugsweise mit dem Such-Schlüssel übertragen und mit dem Ergebnis der Suche zurückgegeben. -
4 ist ein Flussdiagramm eines Suchprozesses, der von den Suchmaschinen in2 durchgeführt wird. Der Paket-Prozessor32 sendet den Such-Schlüssel gleichzeitig an die Suchmaschinen30a –30d (50 ). Jede Suchmaschine benutzt den Such-Schlüssel und sucht in ihrer Nachschlagetabelle, um ein Suchergebnis zu erzeugen (52 ). Die Suchmaschine ganz oben auf dem Stapel30d sendet ihr Suchergebnis zusammen mit einem Signal, dass die Suche durchgeführt wurde, an ihre benachbarte nachgeordnete Suchmaschine30c (54 ). Das Signal, dass die Suche durchgeführt wurde, benachrichtigt die empfangende Suchmaschine, dass die sendende Suchmaschine ihre Suche beendet hat und somit, dass die gesendete Nutzinformation40a , die Übereinstimmungs-Qualität40b und das Kennzeichen40c gültig sind. - Als nächstes wird die Übereinstimmungs-Qualität des empfangenen Suchergebnisses mit der Übereinstimmungs-Qualität des aktuellen Suchergebnisses verglichen, das von der empfangenden Suchmaschine erzeugt wird (
58 ), und es wird eine Feststellung getroffen, ob das aktuelle Suchergebnis eine höhere Übereinstimmungs-Qualität hat als die Übereinstimmungs-Qualität des empfangenen Suchergebnisses (60 ). Wenn das aktuelle Suchergebnis eine kleinere Übereinstimmungs-Qualität hat als die Übereinstimmungs-Qualität des empfangenen Suchergebnisses, wird das empfangene Suchergebnis bestätigt (70 ). Danach wird erneut eine Feststellung getroffen, ob die empfangende Suchmaschine sich ganz unten im Stapel befindet (72 ). Falls ja, wird das empfangene Suchergebnis zum Paket-Prozessor32 übertragen (74 ). Andernfalls wird das empfangene Suchergebnis an eine nächste benachbarte nachgeordnete Suchmaschine übertragen (76 ), und der Prozess geht weiter (56 ). - Wenn das aktuelle Suchergebnis eine größere Übereinstimmungs-Qualität hat als die Übereinstimmungs-Qualität des empfangenen Suchergebnisses, wird das aktuelle Suchergebnis bestätigt (
62 ). Auf diese Weise wird das Suchergebnis mit der höchsten Übereinstimmungs-Qualität bei der Durchsicht aller Suchergebnisse von allen Suchmaschinen aufrechterhalten. Anschließend wird eine Feststellung getroffen, ob die empfangende Suchmaschine sich ganz unten im Stapel befindet (64 ). Falls ja, wird das aktuelle Suchergebnis zum Paket-Prozessor32 übertragen (66 ). Andernfalls wird das aktuelle Suchergebnis an eine nächste benachbarte nachgeordnete Suchmaschine übertragen (68 ), und der Prozess geht weiter (56 ). -
5 ist eine Darstellung einer Suche, die von den in2 gezeigten Suchmaschinen30a –30d auf der Basis eines Beispiel-Schlüssels "10.10.10.10" durchgeführt wird. Der Schlüssel wird vorzugsweise gleichzeitig an alle Suchmaschinen übertragen, damit jede Suchmaschine unabhängig ihre entsprechende Nachschlagetabelle durchsuchen kann. Die Suchergebnisse aller Suchmaschinen werden dann sequentiell durchgesehen, vorzugsweise von der Spitze des Stapels bis zum Boden des Stapels, oder entsprechend jeder anderen vorher festgelegten Reihenfolge. - In der Darstellung in
5 befindet sich Suchmaschine 3 an der Spitze des Stapels. Suchmaschine 3 enthält einen Eintrag in ihrer Nachschlagetabelle, der "10.10.XX.XX" entspricht. Eine Suche in der Nachschlagetabelle erzeugt somit eine Übereinstimmungs-Qualität von "10", was eine teilweise Übereinstimmung anzeigt. Suchmaschine 3 sendet ihre Nutzinformation, Übereinstimmungs-Qualitäts-Daten und Kennzeichen zusammen mit einem Signal, das die Suche durchgeführt wurde, an Suchmaschine 2. - Suchmaschine 2 enthält einen Eintrag in ihrer Nachschlagetabelle, der "10.10.10.XX" entspricht. Eine Suche in der Nachschlagetabelle erzeugt ebenfalls eine teilweise Übereinstimmung mit einer Übereinstimmungs-Qualität von "10". Suchmaschine 2 vergleicht ihre Übereinstimmungs-Qualität mit der Übereinstimmungs-Qualität von Suchmaschine 3 und stellt fest, dass sie gleiche Priorität haben. Somit bestätigt Suchmaschine 2 die von Suchmaschine 3 empfangene Nutzinformation, die Übereinstimmungs-Qualitäts-Daten und das Kennzeichen und sendet sie an Suchmaschine 1. In einer alternativen Ausführung werden, wenn eine spätere Suchmaschine eine bessere Übereinstimmung als eine vorherige Suchmaschine hat, die Nutzinformation, die Übereinstimmungs-Qualität und das Kennzeichen der späteren Suchmaschine bestätigt und benutzt. Suchmaschine 2 sendet an Suchmaschine 1 auch ein Signal, dass die Suche durchgeführt wurde.
- Suchmaschine 1 enthält einen Eintrag in ihrer Nachschlagetabelle mit einer exakten Übereinstimmung mit dem Such-Schlüssel und erzeugt eine Übereinstimmungs-Qualität von "01". Suchmaschine 1 vergleicht ihre Übereinstimmungs-Qualität mit der von Suchmaschine 2 empfangenen Übereinstimmungs-Qualität und stellt fest, dass sie eine höhere Übereinstimmungs-Qualität hat. Somit bestätigt Suchmaschine 1 ihre eigene Nutzinformation, die Übereinstimmungs-Qualitäts-Daten und das Kennzeichen und sendet sie zusammen mit einem Signal, dass die Suche durchgeführt wurde, an Suchmaschine 0. Wenn Suchmaschine 1 keine bessere Übereinstimmung gehabt hätte, hätte sie die Nutzinformation, die Übereinstimmungs-Qualität und das Kennzeichen von Suchmaschine 2 benutzt.
- Suchmaschine 0 enthält einen Eintrag in ihrer Nachschlagetabelle, der "15.15.15.15" entspricht. Dieser Eintrag erzeugt keine exakte oder teilweise Übereinstimmung. Somit erzeugt Suchmaschine 0 eine Übereinstimmungs-Qualität von "00", was anzeigt, dass keine Übereinstimmung gefunden wurde. Die Übereinstimmungs-Qualität von Suchmaschine 0 wird mit der von Suchmaschine 1 empfangenen Übereinstimmungs-Qualität verglichen, und es wird eine Feststellung getroffen, dass Suchmaschine 1 eine höhere Übereinstimmungs-Qualität hat. Folglich bestätigt Suchmaschine 0 die von Suchmaschine 1 empfangene Nutzinformation, die Übereinstimmungs-Qualitäts-Daten und das Kennzeichen und sendet sie zusammen mit einem Signal, dass die Suche durchgeführt wurde, an den Paket-Prozessor
32 . Der Paket-Prozessor32 empfängt somit ein einziges Suchergebnis mit der höchsten Übereinstimmungs-Qualität. - Obwohl diese Erfindung in bestimmten speziellen Ausführungen beschrieben wurde, wird ein Fachmann keine Schwierigkeiten haben, Änderungen abzuleiten, die in keiner Weise vom Umfang der vorliegenden Erfindung abweichen. Es muss daher verstanden werden, dass diese Erfindung anders als speziell beschrieben realisiert werden kann. Somit müssen die vorliegenden Ausführungen der Erfindung in jeder Hinsicht als beispielhaft und nicht einschränkend betrachtet werden, wobei der Umfang der Erfindung durch die beigefügten Ansprüche und nicht durch die obige Beschreibung angegeben wird.
-
1 -
- Vermittlungseinrichtung
- Netzwerk
- Fig. 2
Lookup engine Suchmaschine 31 Speicher 33 Such-Logik Packet Prozessor Paket-Prozessor 35 Temporärer Paket-Speicher 37 Paket-Analyse & Entnahme des Schlüssels 39 Weiterleitungs-Entscheidungs-Logik Payload Data Nutzinformations-Daten 34 Paket-Daten 40a Nutzinformation 40b 2 Bit Übereinstimmung 40c 8 Bit Kennzeichen 50 Such-Schlüssel an alle Suchmaschinen senden 52 Suchergebnis in jeder Suchmaschine erzeugen 54 Suchergebnis und Signal, dass die Suche durchgeführt wurde, an nachgeordnete Suchmaschine senden 58 Übereinstimmungs-Qualität des empfangenen Ergebnisses mit der Übereinstimmungs-Qualität des aktuellen Ergebnisses vergleichen 60 Aktuelles Ergebnis hat höhere Übereinstimmungs-Qualität? N Nein Y Ja 70 Empfangenes Ergebnis bestätigen 72 Boden des Stapels? 74 Empfangenes Suchergebnis an Paket-Prozessor senden 76 Empfangenes Suchergebnis an nachgeordnete Suchmaschine senden 62 Aktuelles Suchergebnis bestätigen 64 Boden des Stapels? 68 Aktuelles Suchergebnis an nachgeordnete Suchmaschine senden 66 Aktuelles Suchergebnis an Paket-Prozessor senden End Ende Lookup engine Suchmaschine 33 Such-Logik Payload Nutzinformation Tag Kennzeichen Sdone Suche durchgeführt Packet Processor Paket-Prozessor 35 Temporärer Paket-Speicher 37 Paket-Analyse & Entnahme des Schlüssels 39 Weiterleitungs-Entscheidungs-Logik Payload Nutzinformation 34 Paket-Daten
Claims (17)
- Verfahren zur Verarbeitung eines Datenpaketes, das von einer aus einer Vielzahl von Datenkommunikations-Vermittlungen (
20 ) empfangen wird, die Datenpakete in einem Datenkommunikationsnetz (10 ) senden und empfangen, wobei die Kommunikations-Vermittlung (20 ) einen Paket-Prozessor (32 ) enthält und das Verfahren folgende Schritte umfasst: Erzeugen eines Such-Schlüssels für das Datenpaket; Gleichzeitiges Senden (50 ) des Such-Schlüssels an eine Vielzahl von Suchmaschinen (30a ,30b ,30c ,30d ), wobei jede Suchmaschine eine Nachschlagetabelle unterhält und wobei eine Suchmaschine (301 ) eine Schnittstelle enthält, die zum Paket-Prozessor (32 ) freigegeben ist; Benutzen des Such-Schlüssels zum Absuchen der Nachschlagetabellen, wobei jede Suchmaschine ein Suchergebnis (40 ) erzeugt (52 ), das eine Übereinstimmungs-Qualität (40b ) und eine Nutzinformation (40a ) enthält, wobei die Nutzinformation (40a ) Routing-Information enthält; Senden (54 ) des Suchergebnisses (40 ) durch jede Suchmaschine (30b ,30c ,30d ) an eine benachbarte Suchmaschine (30a ,30b ,30c ), bis ein einziges endgültiges Suchergebnis (40 ) von der einen Suchmaschine (30a ) über die Schnittstelle zum Paket-Prozessor (32 ) gesendet wird, wobei jede Suchmaschine (30a ,30b ,30c ), die ein Suchergebnis (40 ) empfängt, entweder das empfangene Ergebnis oder ihr eigenes Suchergebnis (40 ) sendet, was auf dem Vergleichen (58 ) der Übereinstimmungs-Qualität (40b ) des empfangenen Suchergebnisses (40 ) mit der Übereinstimmungs-Qualität (40b ) ihres eigenen Suchergebnisses (40 ) beruht; und Rückgabe eines der Suchergebnisse (40 ) auf der Basis der Übereinstimmungs-Qualität (40b ) an den Paket-Prozessor (32 ). - Verfahren aus Anspruch 1, wobei der Schritt der Rückgabe eines der Suchergebnisse (
40 ) die Rückgabe des Suchergebnisses (40 ) mit der höchsten Übereinstimmungs-Qualität (40b ) umfasst. - Verfahren aus Anspruch 1, wobei die Übereinstimmungs-Qualität (
40b ) eine exakte Übereinstimmung, eine teilweise Übereinstimmung oder dass keine Übereinstimmung vorliegt, anzeigt. - Verfahren aus Anspruch 1, wobei die Nachschlagetabellen Einträge enthalten, die sich von den Einträgen in anderen Nachschlagetabellen unterscheiden, die von anderen Suchmaschinen (5/10–12) unterhalten werden.
- Verfahren aus Anspruch 1, wobei das Suchergebnis zusammen mit einem Signal, dass die Suche durchgeführt wurde, an die benachbarte Suchmaschine übertragen wird (8/14–16; 10/11–12).
- Verfahren aus Anspruch 1, wobei das zurückgegebene der Suchergebnisse (
40 ) Daten aus der Nachschlagetabelle enthält, die dem Such-Schlüssel zugeordnet sind. - Verfahren aus Anspruch 1, das weiterhin die Bestätigung des empfangenen Suchergebnisses (
40 ) durch die empfangende Suchmaschine umfasst. - Paketverarbeitungssystem, das folgendes enthält: Mittel zum Empfang eines Datenpaketes; einen Paket-Prozessor (
32 ), der mit dem Mittel zum Empfang des Datenpaketes gekoppelt ist, wobei der Paket-Prozessor (32 ) angepasst ist, einen Such-Schlüssel für das Datenpaket zu erzeugen; eine Vielzahl von Suchmaschinen (30a ,30b ,30c ,30d ), die angepasst sind, gleichzeitig den Such-Schlüssel vom Paket-Prozessor (32 ) zu empfangen, wobei jede Suchmaschine eine Nachschlagetabelle unterhält und wobei eine Suchmaschine (301 ) eine Schnittstelle enthält, die zum Paket-Prozessor (32 ) freigegeben ist; wobei die Vielzahl von Suchmaschinen (30a ,30b ,30c ,30d ) angepasst ist, den Such-Schlüssel dazu zu verwenden, die unterhaltene Nachschlagetabelle abzusuchen, um ein Suchergebnis (40 ) zu erzeugen, das eine Übereinstimmungs-Qualität (40b ) und eine Nutzinformation (40a ) enthält, wobei die Nutzinformation (40a ) Routing-Information enthält; wobei jede Suchmaschine (30b ,30c ,30d ) angepasst ist, das Suchergebnis (40 ) an eine benachbarte Suchmaschine (30a ,30b ,30c ) zu senden (54 ), bis ein einziges endgültiges Suchergebnis (40 ) von der einen Suchmaschine (30a ) über die Schnittstelle zum Paket-Prozessor (32 ) gesendet wird, wobei jede Suchmaschine (30a ,30b ,30c ), die ein Suchergebnis (40 ) empfängt, angepasst ist, entweder das empfangene Ergebnis oder ihr eigenes Suchergebnis (40 ) zu senden, was auf dem Vergleichen (58 ) der Übereinstimmungs-Qualität (40b ) des empfangenen Suchergebnisses (40 ) mit der Übereinstimmungs-Qualität (40b ) ihres eigenen Suchergebnisses (40 ) beruht; und die eine Suchmaschine (30a ) angepasst ist, eines der Suchergebnisse (40 ) auf der Basis der Übereinstimmungs-Qualität (40b ) an den Paket-Prozessor (32 ) zurückzugeben. - Das System aus Anspruch 8, wobei der Paket-Prozessor angepasst ist, das eine der Suchergebnisse (
40 ) mit der höchsten Übereinstimmungs-Qualität (40b ) zu empfangen. - Das System aus Anspruch 8, wobei das Suchergebnis (
40 ) Übereinstimmungs-Qualitäts-Daten enthält, die eine exakte Übereinstimmung, eine teilweise Übereinstimmung oder dass keine Übereinstimmung vorliegt, anzeigen. - Das System aus Anspruch 8, wobei die Nachschlagetabellen Einträge enthalten, die sich von den Einträgen in anderen Nachschlagetabellen unterscheiden, die von anderen Suchmaschinen (5/10–12) unterhalten werden.
- Das System aus Anspruch 8, wobei die Suchmaschinen (
30a ,30b ,30c ,30d ) angepasst sind, das Suchergebnis zusammen mit einem Signal, dass die Suche durchgeführt wurde, an die benachbarte Suchmaschine zu übertragen (8/14–16; 10/11–12). - Das System aus Anspruch 8, wobei das Suchergebnis (
40 ) Daten aus der Nachschlagetabelle enthält, die dem Such-Schlüssel zugeordnet sind. - Das System aus Anspruch 8, wobei die empfangende Suchmaschine angepasst ist, das empfangene Suchergebnis (
40 ) zu bestätigen. - Das System aus Anspruch 14, wobei die Feststellung, welches Suchergebnis (
40 ) bestätigt wird, auf einem Vergleich der Übereinstimmungs-Qualität basiert. - Das System aus Anspruch 8, wobei die benachbarte Suchmaschine eine nachgeordnete Suchmaschine ist.
- Das System aus Anspruch 8, wobei die erste Suchmaschine eine vorgelagerte Suchmaschine ist.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20661700P | 2000-05-24 | 2000-05-24 | |
US20699600P | 2000-05-24 | 2000-05-24 | |
US206617P | 2000-05-24 | ||
US206996P | 2000-05-24 | ||
US21573800P | 2000-06-29 | 2000-06-29 | |
US215738P | 2000-06-29 | ||
US764943 | 2001-01-18 | ||
US09/764,943 US6957272B2 (en) | 2000-05-24 | 2001-01-18 | Stackable lookup engines |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60131596D1 DE60131596D1 (de) | 2008-01-10 |
DE60131596T2 true DE60131596T2 (de) | 2008-10-23 |
Family
ID=27498618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60131596T Expired - Lifetime DE60131596T2 (de) | 2000-05-24 | 2001-05-23 | Stapelbare Sucheinrichtung |
Country Status (4)
Country | Link |
---|---|
US (1) | US6957272B2 (de) |
EP (1) | EP1158729B1 (de) |
AT (1) | ATE379904T1 (de) |
DE (1) | DE60131596T2 (de) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343413B2 (en) | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US8380854B2 (en) | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US7490162B1 (en) | 2002-05-15 | 2009-02-10 | F5 Networks, Inc. | Method and system for forwarding messages received at a traffic manager |
JP4050559B2 (ja) * | 2002-06-28 | 2008-02-20 | 富士通株式会社 | コンテンツ検索処理プログラム、コンテンツ検索処理プログラムを記録した記録媒体およびオペレータ問合せ処理システム |
US7774484B1 (en) | 2002-12-19 | 2010-08-10 | F5 Networks, Inc. | Method and system for managing network traffic |
JP4355188B2 (ja) * | 2003-10-03 | 2009-10-28 | 株式会社日立製作所 | パケット転送装置 |
US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
US7903555B2 (en) * | 2003-12-17 | 2011-03-08 | Intel Corporation | Packet tracing |
WO2007055757A2 (en) * | 2005-07-28 | 2007-05-18 | Riverbed Technology, Inc. | Serial clustering |
US8418233B1 (en) | 2005-07-29 | 2013-04-09 | F5 Networks, Inc. | Rule based extensible authentication |
US8533308B1 (en) | 2005-08-12 | 2013-09-10 | F5 Networks, Inc. | Network traffic management through protocol-configurable transaction processing |
US8565088B1 (en) | 2006-02-01 | 2013-10-22 | F5 Networks, Inc. | Selectively enabling packet concatenation based on a transaction boundary |
US8792497B2 (en) * | 2006-06-05 | 2014-07-29 | Tellabs Operations, Inc. | Method and apparatus for performing link aggregation |
US9106606B1 (en) | 2007-02-05 | 2015-08-11 | F5 Networks, Inc. | Method, intermediate device and computer program code for maintaining persistency |
US8073046B2 (en) * | 2007-06-14 | 2011-12-06 | Zoran Corporation | Fast training equalization of a signal by using adaptive-iterative algorithm with main path phase correction |
US8806053B1 (en) | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US8218574B2 (en) * | 2008-05-06 | 2012-07-10 | Harris Corporation | Scalable packet analyzer and related method |
US9832069B1 (en) | 2008-05-30 | 2017-11-28 | F5 Networks, Inc. | Persistence based on server response in an IP multimedia subsystem (IMS) |
US9130846B1 (en) | 2008-08-27 | 2015-09-08 | F5 Networks, Inc. | Exposed control components for customizable load balancing and persistence |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
US7831609B1 (en) * | 2009-08-25 | 2010-11-09 | Vizibility Inc. | System and method for searching, formulating, distributing and monitoring usage of predefined internet search queries |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
WO2012058643A2 (en) | 2010-10-29 | 2012-05-03 | F5 Networks, Inc. | System and method for on the fly protocol conversion in obtaining policy enforcement information |
US8959571B2 (en) | 2010-10-29 | 2015-02-17 | F5 Networks, Inc. | Automated policy builder |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
EP2853074B1 (de) | 2012-04-27 | 2021-03-24 | F5 Networks, Inc | Verfahren zur optimierung von inhaltsdienstanfragen und vorrichtungen dafür |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
EP3761575A1 (de) * | 2014-04-30 | 2021-01-06 | Huawei Technologies Co., Ltd. | Suchvorrichtung und -verfahren |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US9680749B2 (en) * | 2015-02-27 | 2017-06-13 | Arista Networks, Inc. | System and method of using an exact match table and longest prefix match table as a combined longest prefix match |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11122083B1 (en) | 2017-09-08 | 2021-09-14 | F5 Networks, Inc. | Methods for managing network connections based on DNS data and network policies and devices thereof |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930359A (en) | 1996-09-23 | 1999-07-27 | Motorola, Inc. | Cascadable content addressable memory and system |
US5909440A (en) * | 1996-12-16 | 1999-06-01 | Juniper Networks | High speed variable length best match look-up in a switching device |
US6493347B2 (en) * | 1996-12-16 | 2002-12-10 | Juniper Networks, Inc. | Memory organization in a switching device |
US5983223A (en) | 1997-05-06 | 1999-11-09 | Novell, Inc. | Method and apparatus for determining a longest matching prefix from a dictionary of prefixes |
US5938736A (en) * | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
US6006306A (en) * | 1997-07-02 | 1999-12-21 | Xylan Corporation | Integrated circuit with stage-implemented content-addressable memory cell |
US6230236B1 (en) | 1997-08-28 | 2001-05-08 | Nortel Networks Corporation | Content addressable memory system with cascaded memories and self timed signals |
US6161144A (en) * | 1998-01-23 | 2000-12-12 | Alcatel Internetworking (Pe), Inc. | Network switching device with concurrent key lookups |
US6553000B1 (en) * | 1998-01-27 | 2003-04-22 | Alcatel Internetworking (Pe), Inc. | Method and apparatus for forwarding network traffic |
US6430527B1 (en) * | 1998-05-06 | 2002-08-06 | Avici Systems | Prefix search circuitry and method |
WO2000003522A1 (en) * | 1998-07-08 | 2000-01-20 | Broadcom Corporation | A method of sending packets between trunk ports of network switches |
US6678269B1 (en) * | 1998-10-05 | 2004-01-13 | Alcatel | Network switching device with disparate database formats |
US6658015B1 (en) * | 1999-05-28 | 2003-12-02 | Advanced Micro Devices, Inc. | Multiport switch with plurality of logic engines for simultaneously processing different respective data frames |
US6665297B1 (en) * | 1999-12-09 | 2003-12-16 | Mayan Networks Corporation | Network routing table |
US6711153B1 (en) * | 1999-12-13 | 2004-03-23 | Ascend Communications, Inc. | Route lookup engine |
US6463067B1 (en) * | 1999-12-13 | 2002-10-08 | Ascend Communications, Inc. | Submission and response architecture for route lookup and packet classification requests |
EP1162788B1 (de) * | 2000-06-09 | 2012-11-21 | Broadcom Corporation | "Trunking" und "Mirroring" über "stacked gigabit" Vermittlungsstellen |
US6687715B2 (en) * | 2001-06-28 | 2004-02-03 | Intel Corporation | Parallel lookups that keep order |
-
2001
- 2001-01-18 US US09/764,943 patent/US6957272B2/en not_active Expired - Lifetime
- 2001-05-23 EP EP01112010A patent/EP1158729B1/de not_active Expired - Lifetime
- 2001-05-23 DE DE60131596T patent/DE60131596T2/de not_active Expired - Lifetime
- 2001-05-23 AT AT01112010T patent/ATE379904T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1158729A3 (de) | 2004-04-07 |
EP1158729B1 (de) | 2007-11-28 |
US20010037396A1 (en) | 2001-11-01 |
DE60131596D1 (de) | 2008-01-10 |
US6957272B2 (en) | 2005-10-18 |
EP1158729A2 (de) | 2001-11-28 |
ATE379904T1 (de) | 2007-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60131596T2 (de) | Stapelbare Sucheinrichtung | |
DE69601641T2 (de) | Mechanismus zur wirkungsvollen synchronisation von information in einem netz | |
DE60313371T2 (de) | Verwendung von baumartigen "Bitmap" Datenstrukturen | |
DE69330675T2 (de) | Verbesserte Paketstruktur für Netzschicht | |
DE60126647T2 (de) | System und Verfahren um die Steuerung von Echtzeit-Transport-Protokollflüsse über mehrere Netzwerke zu unterstützen | |
DE69934644T2 (de) | Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken | |
DE69738174T2 (de) | Auf virtuellen pfaden basierte statische leitweglenkung | |
DE60123656T2 (de) | System um die steuerung von echtzeit-transport-protokollflüsse über mehrere netzwerke zu unterstützen unter verwendung einer gruppe von sitzungsroutern | |
DE60128007T2 (de) | Vorrichtung und verfahren zur sicherheitsbearbeitung von kommunikationspaketen | |
DE69531337T2 (de) | Weglenkung von Transaktionsnachrichten in einem digitalen Kommunikationsnetz | |
DE69433126T2 (de) | Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen | |
DE69123149T2 (de) | Nachrichtweglenking-Apparat | |
DE69827201T2 (de) | Verfahren und system zur server-netzwerkvermittlung-mehrverbindung | |
DE69419534T2 (de) | Multi-Protokoll Paketvermittlungsnetz | |
DE69730452T2 (de) | Verfahren und vorrichtung zur cachespeicherung von politik zur verwendung in einem kommunikationsgerät | |
DE69602753T2 (de) | Netzwerkaddressierungsanordnung fur rückwarts kompatible leitweglenkung mit einem erweiterten addressraum | |
DE60029467T2 (de) | Netzwerkschalter und komponenten und betriebsverfahren | |
DE69032466T2 (de) | Aktualisierung von Verbindungszustandsinformationen in Netzwerken | |
DE69929868T2 (de) | Anordnung für Nachrichtübertragung mit verbesserten Stationen und entsprechendes Verfahren | |
DE69216915T2 (de) | Router, der durch entfernte Adressauflösung Daten wie über eine Brücke weiterleiten kann | |
DE602005002382T2 (de) | Verteilte dynamische Leitweglenkung | |
DE3785832T2 (de) | Netzwerkanpassungseinrichtung zur verbindung eines lokalen netzes mit einem hauptnetz. | |
DE69414934T2 (de) | Verfahren und Vorrichtung zur Auswertung von Datenstrukturinformationen | |
DE60311800T2 (de) | Verfahren und vorrichtung zur verbesserung der netzwerkleitweglenkung | |
DE602004004060T2 (de) | Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |