DE102014207479A1 - Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung - Google Patents

Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung Download PDF

Info

Publication number
DE102014207479A1
DE102014207479A1 DE102014207479.7A DE102014207479A DE102014207479A1 DE 102014207479 A1 DE102014207479 A1 DE 102014207479A1 DE 102014207479 A DE102014207479 A DE 102014207479A DE 102014207479 A1 DE102014207479 A1 DE 102014207479A1
Authority
DE
Germany
Prior art keywords
key
data segment
block
data
depending
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.)
Pending
Application number
DE102014207479.7A
Other languages
English (en)
Inventor
Herbert Leuwer
Stefan Fuhrmann
Andreas Brune
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102014207479.7A priority Critical patent/DE102014207479A1/de
Priority to KR1020150052366A priority patent/KR20150120301A/ko
Priority to FR1553316A priority patent/FR3020229B1/fr
Priority to JP2015084395A priority patent/JP6533088B2/ja
Priority to CN201510179557.0A priority patent/CN105007231B/zh
Priority to US14/689,523 priority patent/US10051058B2/en
Publication of DE102014207479A1 publication Critical patent/DE102014207479A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Es wird ein Verfahren zum Klassifizieren eines Datensegments (4) bezüglich dessen Weiterverarbeitung in einer Datentransporteinheit (18), insbesondere in einem Netzwerkprozessor, beschrieben. Das Datensegment (4) wird von einer Eingangsschnittstelle (6) bereitgestellt. Ein erster Schlüssel für eine Lookup-Tabelle wird in Abhängigkeit von einer vorab festgelegten Kennung (chid) und in Abhängigkeit von einer Kennung (devid) der Eingangsschnittstelle (6), von der das Datensegment (4) stammt, ermittelt. Ein zweiter Schlüssel für die Lookup-Tabelle wird ermittelt.

Description

  • Stand der Technik
  • Die Erfindung betrifft ein Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung nach dem Oberbegriff des Anspruchs 1.
  • Es ist bekannt, dass Kommunikationscontroller für Netzwerke wie bspw. CAN (Controller Area Network) oder FlexRay Filterfunktionen für jeweilige Datenpakete aufweisen können, um nur einen Ausschnitt des Netzwerkverkehrs herauszufiltern und zu beobachten.
  • Für Netzübergangseinheiten bzw. Gateways können Datenpaket-Filter aufgrund der großen Kommunikationsmatritzen unter großem Aufwand bzgl. des Datenspeichers realisiert werden. Insbesondere die gestiegene Anzahl von Netzwerktypen und die gestiegenen Anzahl von Teilnetzen im Automobilbereich erschweren die Konstruktion einer flexiblen Gateway-Einheit zwischen unterschiedlichen Netzwerken.
  • Offenbarung der Erfindung
  • Das der Erfindung zu Grunde zu liegende Problem wird durch ein Verfahren nach dem Anspruch 1 gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben. Wichtige Merkmale für die Erfindung finden sich ferner in der nachfolgenden Beschreibung und in den Zeichnungen. Die Merkmale sind sowohl in Alleinstellung als auch in Kombination für die Erfindung wichtig, ohne dass hierauf nochmals hingewiesen wird.
  • Dadurch, dass ein erster Schlüssel für eine Lookup-Tabelle und ein zweiter Schlüssel für die Look-Tabelle ermittelt werden, wird ein flexibler Adressraum aufgespannt. Der erste und zweite Schlüssel zeigen vorteilhaft auf einen Adressraum, der insbesondere für eine Kennung der Eingangsdateneinheit sowie für die vorab festgelegte Kennung reserviert ist.
  • In einer vorteilhaften Ausführungsform werden in Abhängigkeit von dem ersten und dem zweiten Schlüssel Parameter zur Weiterverarbeitung eines Datensegments aus der Lookup-Tabelle ermittelt, womit ein nicht dichter Filter (Leaky Filter) geschaffen wird, der gemäß einer white list in Form von vorliegenden Parametern die Weiterverarbeitung des Datensegments bestimmt.
  • In einer vorteilhaften Ausführungsform wird der zweite Schlüssel in Abhängigkeit von der vorab festgelegten Kennung ermittelt, womit eine einfache Ermittlung des zweiten Schlüssels geschaffen wird.
  • In einer vorteilhaften Ausführungsform wird der zweite Schlüssel in Abhängigkeit von einer Header-Information eines Datenpakets eines gekapselten Netzwerkprotokolls ermittelt, womit eine Berücksichtigung des gekapselten Netzwerkprotokolls die Klassifizierung des Datensegments durchgeführt wird.
  • In einer vorteilhaften Ausführungsform wird in Abhängigkeit von einem ersten Abschnitt der Header-Information ein dritter Schlüssel für die Lookup-Tabelle ermittelt und in Abhängigkeit von einem zweiten Abschnitt der Header-Information ein vierter Schlüssel für die Lookup-Tabelle ermittelt. Als zweiter Schlüssel wird dann der dritte oder der vierte Schlüsse ausgewählt. Vorteilhaft müssen nicht alle Permutationen möglicher Header-Informationen, insbesondere der in der Header-Information enthaltenen Adressinformation, auf eine entsprechend große Hashtabelle abgebildet werden. Damit wird sowohl die Komplexität hinsichtlich der vorgehaltenen Daten reduziert und es kann ein terminierendes Verfahren geschaffen werden. Vorteilhaft kann das Verfahren somit in Hardware ausgeführt werden, wobei gleichzeitig der Datenaufwand reduziert wird.
  • In einer vorteilhaften Ausbildung des Verfahrens werden Regelschlüssel ermittelt und einer der Regelschlüssel ausgewählt. In Abhängigkeit von dem ausgewählten Regelschlüssel wird der zweite Schlüssel bestimmt. Durch die zusätzlichen Regeln, die über einen ausgewählten Regelschlüssel den zweiten Schlüssel bestimmen, wird eine Kollisionsauflösung bzgl. des vorgestellten Verfahrens bereitgestellt. Vorteilhaft wird dadurch vermieden, dass ein Nach-Hashen stattfinden müsste, womit ein terminierendes Verhalten des Verfahrens erreicht wird.
  • In einer vorteilhaften Ausführungsform werden Datensegmente verworfen, wenn auf Basis des ersten Schlüssels und/oder auf Basis des zweiten Schlüssels keine Parameter zur Weiterverarbeitung des Datensegments aus der Lookup-Tabelle ermittelt werden können. Damit wird vorteilhaft ein löchriger Filter (Leaky-Filter) geschaffen, der unter zu Hilfenahme einer weißen Liste (white list) in Form der Lookup-Tabelle vorgibt, dass Datensegmente bspw. mit einer bestimmten Kombination der vorab festgelegten Kennung und der Kennung der Eingangsdateneinheit weiterverarbeitet werden. Datensegmente, für die kein Eintrag in der Lookup-Tabelle vorhanden ist, werden verworfen.
  • Alle Merkmale des Verfahrens sind derart ausgestaltet, dass das Verfahren terminierend ausgeführt werden kann, womit eine Hardware-Ausführung als integrierter Schaltkreis möglich wird.
  • Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnungen dargestellt sind. Alle beschriebenen oder dargestellten Merkmale bilden für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung, sowie unabhängig von ihren Formulierung bzw. Darstellung in der Beschreibung bzw. der Zeichnung. Für funktionsäquivalente Größen und Merkmale werden in allen Figuren auch bei unterschiedlichen Ausführungsformen die gleichen Bezugszeichen verwendet.
  • Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigen:
  • 13 jeweils ein schematisches Blockdiagramm;
  • 4 und 5 jeweils ein schematisches Ablaufdiagramm; und
  • 6 und 7 jeweils ein schematisches Blockdiagramm.
  • 1 zeigt ein schematisches Blockdiagramm 2. Ein Datensegment 4 wird von einer Eingangsschnittstelle 6 bereitgestellt. Das Datensegment 4 umfasst eine vorab festgelegte Kennung chid, die auch als channel identifier bezeichnet wird. Des Weiteren umfasst das Datensegment 4 eine Kennung devid der Eingangsschnittstelle 6. Des Weiteren umfasst das Datensegment 4 einen Datenbereich 8, der auch als Payload des Datensegments 4 bezeichnet wird. Des Weiteren kann das Datensegment 4 weitere Informationen aufweisen, bspw. die Position das Datensegment 4 als Teil eines mehrere Datensegmente 4 umfassenden Datenblocks.
  • Ein Datenpaket 10 eines gekapselten Netzwerkprotokolls umfasst eine Header-Information 12 sowie einen Datenbereich 14. Wie in 1 dargestellt umfasst der Datenbereich 8 des Datensegments 4 nur einen Teil des Datenpakets 10. Beispielhaft ist das Datensegment 4 in 1 ein erstes von mehreren Datensegmenten 4 zur Übertragung des Datenpakets 10.
  • Einem Block 16 werden die vorab vereinbarte Kennung chid, die Kennung devid der Eingangsschnittstelle 6 sowie im Falle eines ersten Datensegments 4 die Header-Information 12 des Datenpakets 10 zugeführt. In Abhängigkeit von den zugeführten Größen ermittelt der Block 16 Parameter 20 zur Weiterverarbeitung des Datensegments 4 aus einer nachfolgend erläuterten Lookup-Tabelle. Damit klassifiziert der Block 16 ein Datensegment 4 bezüglich dessen Weiterverarbeitung in einer Datentransporteinheit, insbesondere in einem Netzwerkprozessor, wobei die Datentransporteinheit zumindest den Block 16 und einen Block 18 umfasst, wobei dem Block 18 die Parameter 20 sowie das entsprechende Datensegment 4 zugeführt werden. Gemäß einem Pfeil 22 leitet der Block 18 Datensegmente 4, für die Parameter 20 ermittelt werden konnten, an eine oder mehrere nicht dargestellte Ausgangsschnittstellen weiter.
  • Bei dem Datenpaket 10 kann es sich beispielsweise um einen CAN-Datenpaket, ein FlexRay-Datenpaket, ein XCP-Datenpaket (universal measurement calibration protocol), einen CCP-Datenpaket (CAN calibration protocol) oder ein Ethernet-Datenpaket handeln. Selbstverständlich sind in diesem Zusammenhang weitere, hier nicht genannte Netzwerkprotokolle denkbar.
  • Einer der Parameter 20 identifiziert bspw. eine Warteschlange innerhalb des Blocks 18 zur Weiterverarbeitung des Datensegments 4. Einer der Parameter 20 identifiziert bspw. zur Weiterverarbeitung des Datensegments eine Verarbeitungseinheit innerhalb des Blocks 18, der das Datensegment 4 zugeführt wird.
  • Vorteilhaft sind alle hier beschriebenen Verfahren so ausgestaltet, dass der Block 16 terminierend, d.h. in einer endlichen Anzahl an Abarbeitungsschritten auf eine Eingabe in Form eines Datensegments 4 eine Ausgabe in Form von Parametern 20 erzeugt. Mithin kann der Block 16 vorteilhaft als integrierter Schaltkreis ausgebildet werden. Ein integrierter Schaltkreis umfasst bspw. einen ASIC (application specific integrated circuit) oder aber einen FPGA (field programmable gate array).
  • 2 zeigt in einem schematischen Blockdiagramm einen Ausschnitt des Blocks 16, der ein Datensegment bezüglich dessen Weiterverarbeitung klassifiziert, indem Parameter für die Weiterverarbeitung des Datensegments ermittelt werden. Selbstverständlich umfasst die Klassifizierung eines einzelnen Datensegments auch die Klassifizierung eines Datenblocks, der mehrere Datensegmente aufweist. So kann beispielsweise, wie nachfolgend erläutert, eine Header-Information in einem ersten Datensegment eines Datenblocks vorteilhaft dazu genutzt werden, um ensprechende Parameter zu ermitteln, die auch für die auf das erste Datensegment folgende Datensegmente des Datenblocks für dessen Weiterverarbeitung Anwendung finden.
  • Einem Block 24 werden die vorab festgelegte Kennung chid und die Kennung devid der Eingangsschnittstelle 6 zugeführt. In Abhängigkeit von der vorab festgelegten Kennung chid und der Kennung devid der Eingangsschnittstelle 6 werden die Ausgangsgrößen des Blocks 24 gebildet. Der Block 24 greift auf eine erste vorkonfigurierbare Tabelle 26 und eine zweite vorkonfigurierbare Tabelle 28 zu. In einem ersten Fall kann mittels der Tabelle 26 anhand der Kennung devid der Eingangsschnittstelle 6 ein erster Schlüssel 30 ermittelt werden. In einem anderen Fall kann unter Zuhilfenahme der vorab vereinbarten Kennung chid zusätzlich zu der Kennung devid über die Tabelle 28 der erste Schlüssel 30 in Abhängigkeit von der Kennung devid der Eingangsschnittstelle 6 und der vorab vereinbarten Kennung chid ermittelt werden. Über den ersten Schlüssel 30 können bspw. Speicherbereiche in der Lookup-Tabelle 32 adressiert werden, die einer der Eingangsschnittstellen 6 zugeordnet sind oder aber einer der Eingangsschnittstellen 6 und der vorab vereinbarten Kennung chid zugeordnet sind.
  • Einem Bereich 34 werden der erste Schlüssel 30 und ein zweiter Schlüssel 34 zugeführt. Aus dem ersten Schlüssel 30 und dem zweiten Schlüssel 34 wird ein Lookup-Schlüssel 36 gebildet, bspw. durch Addition des ersten Schlüssels 30 und des zweiten Schlüssels 34. Bei der Addition stellt der zweite Schlüssel 34 beispielsweise einen Offset zu dem ersten Schlüssel 30 dar. Selbstverständlich sind auch andere Kombinationen des ersten Schlüssels 30 und des zweiten Schlüssels 34 denkbar, um den Lookup-Schlüssel 36 zu ermitteln.
  • Ein Block 40 greift auf die vorkonfigurierbare Lookup-Tabelle 32 in Abhängigkeit von dem Lookup-Schlüssel 36 zu und ermittelt somit aus der Lookup-Tabelle 32 Parameter 20 für die Weiterverarbeitung des sich in Bearbeitung befindenden Datensegments 4. Über eine Information 84 wird dem Block 40 mitgeteilt, ob es sich bei dem untersuchten Datensegment 4 um ein letztes, erstes oder mittleres Datensegment 4 eines Datenblocks oder Datenpakets 10 handelt. Kann der Block 40 für den zugeführten Lookup-Schlüssel 36 in der Lookup-Tabelle 32 keinen bzw. keine Parameter 20 zur Weiterverarbeitung des Datensegments 4 ermitteln, so wird das Datensegment 4 nicht weiterverarbeitet und verworfen. Durch das Verwerfen eines Datensegments 4, das durch eine Vorkonfiguration in der Lookup-Tabelle 32 nicht erfasst wird, müssen vorteilhaft keine Filterelemente vor der Eingangsschnittstelle 6 im Bereich des jeweiligen Netzwerkes vorgesehen werden und die Filterung der Datenströme unterschiedlicher Teilnetze bzw. Netzwerktypen kann vorteilhaft zentralisiert durch den Block 16 ausgeführt werden. Darüber hinaus stellt eine Hardware-Implementierung des Blocks 16 eine weitere Verbesserung dar.
  • Gemäß dem Signal 42 wird einem Block 44 signalisiert, welches der Eingangssignale des Blocks 44 als zweiter Schlüssel 34 weitergeleitet wird.
  • Der Block 46 ermittelt einen zweiten Schlüssel 34a in Abhängigkeit von der vorab festgelegten Kennung chid.
  • Der Block 48 erzeugt einen zweiten Schlüssel 34b in Abhängigkeit von Header-Informationen 12 eines Datenpakets 10 und in Abhängigkeit von einem Signal 52, wobei das Signal 52 durch den Block 24 erzeugt wird und den Block 48 mitteilt, welches Protokoll und welcher Bereich der Header-Informationen 12 ausgewertet werden sollen.
  • Bei einem Block 50 handelt es sich um einen XCP-Klassifizierer für das XCP (universal measurement calibration protocol). Der Block 24 teilt dem Block 50 über das Signal 54 mit, an welcher Stelle der XCP-Header in den Daten vorhanden ist, da XCP bspw. über Ethernet, CAN oder FlexRay übertragen wird und sich damit die Header-Information 12 der Netzwerktypen unterscheiden und damit auch die Position des XCP Headers an anderer bzw. unterschiedlicher Position vorhanden ist. Über ein Signal 56 werden dem Block 50 Informationen bzgl. der Startposition des XCP Headers in dem Header 12 und Informationen bzgl. der Kodierung des XCP Headers übermittelt. Gemäß einem Signal 58 wird der Block 50 zur Erzeugung eines zweiten Schlüssels 34c ausgewählt.
  • Ein Block 60 erzeugt einen zweiten Schlüssel 34d in Abhängigkeit von dem Header 12 und einem Signal 62, das den Block 60 zur Erzeugung des zweiten Schlüssels 34d auswählt. Der Block 60 erzeugt den zweiten Schlüssel 34d aus der Header-Information 12 für das CCP Protokoll (CAN calibration protocol).
  • Ein Block 64 dient somit zur Erzeugung und Auswahl des zweiten Schlüssels 34. Insbesondere durch Auswertung der Header-Information 12 wird der zweite Schlüssel 34 gebildet. So kann eine FRAME-ID (Datenrahmenidentifikation) aus der Header-Information 12, und insbesondere eine Ursprungsadresse und/oder eine Zieladresse in der Header-Information 12 vorteilhaft so ausgewertet werden, dass ein eineindeutiger Zusammenhang zwischen devid, chid, Header-Information 12 und den Parametern 20, d.h. einem Eintrag in der Lookup-Tabelle 32 herstellbar ist.
  • In einem Block 66 sind ein Block 68 und ein Block 70 enthalten. Der Block 68 greift auf eine dritte Tabelle 72 und eine vierte Tabelle 74 zu. Der Block 68 erzeugt einen zweiten Schlüssel 34e. Der Block 24 führt den Block 68 über ein Signal 76 die Informationen zu, in welchen Modus der Block 68 den zweiten Schlüssel 34e erzeugen soll.
  • Der Block 24 erzeugt mittels der Tabelle 28 ein Signal 78, das eine von mehreren virtuellen Eingangsschnittstellen bezeichnet. Gemäß einem Signal 82 wird den Block 70 mitgeteilt, dass die virtuelle Eingangsschnittstelle verwendet werden soll.
  • Der Block 68 erzeugt eine weitere Header-Information 12a, die die Header-Information des untersuchten Protokolls darstellt. Des Weiteren erzeugt der Block 68 einen Regelschlüssel 80 für den Block 70. Der Block 70 greift auf eine Regeltabelle 82 zu.
  • 3 zeigt als schematisches Blockdiagramm einen Ausschnitt aus dem Block 68 in Abhängigkeit von der Header-Information 12 und dem Signal 76 wird die Header-Information 12a erzeugt. Die Header-Information 12a wird den Blöcken 88 und 90 zugeführt, wobei die Blöcke 88 und 90 mittels jeweils vorkonfigurierbarer Masken 92 und 94 einen ersten Abschnitt 96 und einen zweiten Abschnitt 98 erzeugen. So entspricht der erste Abschnitt 96 bspw. einem oberen Bereich aus dem Header 12a und der zweite Abschnitt 98 entspricht einem unteren Bereich aus dem Header 12a. In Abhängigkeit von dem ersten Abschnitt 96 ermittelt ein Block 100 einen dritten Schlüssel 104 und einen ersten Regelschlüssel 106 aus der vorkonfigurierten Tabelle 72. Ein Block 108 ermittelt aus der vorkonfigurierten Tabelle 74 in Abhängigkeit von dem zweiten Abschnitt 98 einen vierten Schlüssel 110 und einen zweiten Regelschlüssel 112.
  • Gemäß einem Signal 114 werden Gewichtungen aus den Tabellen 72 und 74 ausgelesen, die für das betrachtete Datensegment 4 eine Gewichtung zwischen den Blöcken 100 und 108 bedeuten. Ein Block 116 entscheidet anhand der Gewichtungen gemäß dem Signal 114, welcher der Schlüssel 104 und 110 als zweiter Schlüssel 34f an einem Block 118 weitergeleitet wird. Des Weiteren entscheidet der Block 116 anhand der Gewichtungen gemäß dem Signal 114, welcher der Regelschlüssel 106 und 112 als ausgewählter Regelschlüssel 80 weitergeleitet wird. Ein vorkonfigurierbarer Block 120 erzeugt auf Basis der Header-Information 12, bspw. anhand einer Typinformation des Datenpakets 10, einen zweiten Schlüssel 34g. Den Block 118 wird des Weiteren ein zweiter Schlüssel 34h zugeführt, der vom Block 70 erzeugt wird. Block 118 wählt unter den zweiten Schlüsseln 34f, 34g und 34h einen zur Weiterleitung als zweiten Schlüssel 34e aus.
  • 4 zeigt ein schematisches Ablaufdiagramm als Teil des Blocks 116 zur Erzeugung des zweiten Schlüssels 34f. Wird ein gültiger dritter Schlüssel 104 aus der Tabelle 72 ermittelt, so wird von der Stelle 112 zur Stelle 124 gewechselt. An der Stelle 124 wird überprüft, ob der vierte Schlüssel 110 aus der Tabelle 74 in gültiger Weise erzeugt wurde. Wurde der vierte Schlüssel 110 in gültiger Weise erzeugt, so wird von der Stelle 124 zur Stelle 126 gewechselt. An der Stelle 126 werden die Gewichtungen aus den Tabellen 72 und 74 bezüglich der Blöcke 100 und 108 miteinander verglichen. Ist die Gewichtung bzgl. des Blocks 100 größer als die des Blocks 108 wird gemäß dem Block 128 der dritte Schlüssel 104 als zweiter Schlüssel 34f an den Block 118 weitergeleitet. Ist die Gewichtung in dem Vergleich 126 zugunsten des Blocks 108 ausgefallen, so wird gemäß dem Block 130 der vierte Schlüssel 110 als zweiter Schlüssel 34f weitergeleitet. Wurde an der Stelle 124 kein gültiger vierter Schlüssel 110 aus der Tabelle 74 ermittelt, so wird der dritte Schlüssel 104 als zweiter Schlüssel 34f weitergeleitet gemäß einem Block 132. Wurde an der Stelle 122 kein gültiger dritter Schlüssel 104 aus der Tabelle 72 ermittelt, so wird zu der Stelle 134 gewechselt. An der Stelle 134 wird überprüft, ob ein gültiger Schlüssel 110 aus der Tabelle 74 ermittelt wurde. Wurde ein gültiger vierter Schlüssel 110 aus der Tabelle 74 ermittelt, so wird gemäß einem Block 136 der vierte Schlüssel 110 als zweiter Schlüssel 34f weitergeleitet. Wurde an der Stelle 134 kein gültiger Schlüssel 110 aus der Tabelle 74 ermittelt, so wird gemäß einem Block 140 das Segment 4 verworfen.
  • Nach dem gleichen Prinzip wie in 4 wird zur Ermittlung des Regelschlüssels 80 verfahren. So wird gemäß dem Block 128 und dem Block 132 der erste Regelschlüssel 106 als ausgewählter Regelschlüssel 80 weitergeleitet. Gemäß den Blöcken 130 und 136 wird der zweite Regelschlüssel 112 als ausgewählter Regelschlüssel 80 weitergeleitet. Gemäß dem Block 140 wird kein Regelschlüssel 80 ausgewählt und das entsprechende Datensegment 4 verworfen.
  • 5 zeigt ein schematisches Ablaufdiagramm als Teil des Blocks 118 aus 3. An einer Stelle 142 wird überprüft, ob der vorkonfigurierbare Block 120 in gültiger Weise einen zweiten Schlüssel 34g erzeugt hat. Wurde der zweite Schlüssel 34g in gültiger Weise erzeugt, so wird gemäß einem Block 144 der zweite Schlüssel 34g als zweiter Schlüssel 34e weitergeleitet. Wird an der Stelle 142 festgestellt, dass kein gültiger zweiter Schlüssel 34g vorliegt, so wird zur Stelle 146 gewechselt. An der Stelle 146 wird überprüft, ob ein gültiger zweiter Schlüssel 34f vorliegt. Liegt kein gültiger zweiter Schlüssel 34f vor, so wird das Datensegment 4 gemäß einem Block 148 verworfen. Liegt ein gültiger zweiter Schlüssel 34f vor, so wird zur Stelle 150 gewechselt. An der Stelle 150 wird überprüft, ob ein gültiger Regelschlüssel 80 erzeugt wurde. Wurde kein gültiger Regelschlüssel 80 erzeugt, so wird gemäß einem Block 152 der zweite Schlüssel 34f als zweiter Schlüssel 34e ausgewählt und weitergeleitet. Wurde ein gültiger Regelschlüssel 80 erzeugt, so wird zur Stelle 154 gewechselt. Wird an der Stelle 154 festgestellt, dass ein gültiger zweiter Schlüssel 34h erzeugt wurde, so wird dieser als zweiter Schlüssel 34e gemäß dem Block 156 weitergeleitet. Wird an der Stelle 154 festgestellt, dass kein gültiger zweiter Schlüssel 34h erzeugt wurde, so wird der zweite Schlüssel 34f als zweiter Schlüssel 34e weitergeleitet gemäß einem Block 158.
  • Wird vorangehend von einem gültigen Wert gesprochen, so bedeutet der Wortlaut "gültig", dass ein entsprechender Eintrag in der jeweiligen vorkonfigurierten Tabelle gefunden wurde.
  • 6 zeigt ein schematisches Blockschaltbild als Teil des Blocks 70 aus 2. Der Block 70 ermittelt aus der Tabelle 82 in Abhängigkeit von einem zugeführten Regelschlüssel 80 die zu dem Regelschlüssel 80 passenden Einträge 160 und 162. Ein Block 164 führt in Abhängigkeit von den Einträgen 160 und 162 und der zugeführten Header-Information 12a ein Verfahren zum Ermitteln der Ausgangsgrößen 34h, 58, 62 sowie weiterer Größen 166 und 168 durch. Bspw. kann der Eintrag 160 eine Bitmaske umfassen, die mittels eines logischen UND mit den Header-Informationen 12a verknüpft wird. Stimmt diese Verknüpfung mit einem gemäß des Eintrags 160 übermittelten Wert überein, so kann aus dem zugehörigen Eintrag 162 bspw. der zweite Schlüssel 34h an den Block 68 übermittelt werden. Darüber hinaus kann der Eintrag 162 die entsprechenden Werte für die Ausgänge 58 und 62 beinhalten.
  • Findet hingegen die UND-Verknüpfung der Header-Information 12a mit der entsprechenden Maske aus dem Eintrag 160 keine Entsprechung in der Tabelle 82, so erzeugt der Block 164 keine gültigen Ausgänge. Mit dem Blockschaltbild des Blocks 70 können vorteilhaft die Fälle, bei denen aus der Header-Information 12a trotz des Vorsehens der Tabellen 72 und 74 noch Konflikte bzgl. eines Hashing-Verfahrens bestehen, aufgelöst werden und ein zweiter Schlüssel 34h ermittelt werden. Damit wird ein Nach-Hashen umgangen und eine Hardwarebasierte Lösung wird durch den Block 70 möglich. Entsprechend muss die Tabelle 82 vorkonfiguriert werden, womit sich aber der Umfang der Tabellen 72 und 74 reduziert.
  • 7 zeigt in einem schematischen Blockschaltbild einen Ausschnitt aus dem Block 40. Aus der Lookup-Tabelle 32 werden die zu dem Lookup-Schlüssel 36 passenden Parameter 20a an einen Block 170 übermittelt. Der Block 170 übermittelt mittels eines Signals 172 an einen Block 174, welche der Parameter 20c und 20d als Parameter 20 weitergeleitet werden. Ist das Datensegment 4 ein einziges, also ein erstes und ein letztes Datensegment 4, so werden von dem Block 170 die Parameter 20a als Parameter 20c an den Block 174 und von dem Block 174 als Parameter 20 weitergeleitet.
  • Ist hingegen gemäß dem Signal 84 ein Datensegment 4 ein erstes von mehreren einem Datenblock und/oder einem Datenpaket 10 zugeordneten Datensegment 4, so wird der über die Blöcke 24, 66 und 64 erzeugte Lookup-Schlüssel 36 in einem Zwischenspeicher 176 gespeichert. Für die auf das erste Datensegment 4 folgenden Datensegmente 4 kann damit das Resultat der Blöcke 34, 66 und 64 in Form des Lookup-Schlüssels 36 wiederverwendet werden. Alternativ werden die Parameter 20a in dem Zwischenspeicher 176 zwischengespeichert und für die mittleren und das letzte Datensegment 4 wiederverwendet. Das Signal 78 zeigt gemäß einer virtuellen Eingangsschnittstelle auf den entsprechenden Eintrag in den Zwischenspeicher 176, womit der Block 170 gemäß den Parametern 20d diese aus der Lookup-Tabelle 32 holen und als Parameter 20 weiterleiten kann.

Claims (13)

  1. Verfahren zum Klassifizieren eines Datensegments (4) bezüglich dessen Weiterverarbeitung in einer Datentransporteinheit (18), insbesondere in einem Netzwerkprozessor, wobei das Datensegment (4) von einer Eingangsschnittstelle (6) bereitgestellt wird, dadurch gekennzeichnet, dass ein erster Schlüssel (30) für eine Lookup-Tabelle (32) in Abhängigkeit von einer vorab festgelegten Kennung (chid) und in Abhängigkeit von einer Kennung (devid) der Eingangsschnittstelle (6), von der das Datensegment (4) stammt, ermittelt wird, und dass ein zweiter Schlüssel (34) für die Lookup-Tabelle (32) ermittelt wird.
  2. Verfahren nach Anspruch 1, wobei in Abhängigkeit von dem ersten und dem zweiten Schlüssel (30, 34) Parameter (20) zur Weiterverarbeitung des Datensegments (4) aus der Lookup-Tabelle (32) ermittelt werden.
  3. Verfahren nach Anspruch 1 oder 2, wobei der zweite Schlüssel (34) in Abhängigkeit von der vorab festgelegten Kennung (chid) ermittelt wird. Verfahren nach einem der vorstehenden Ansprüche, wobei ein erstes Datensegment (4) eines eine Mehrzahl von Datensegmenten (4) aufweisenden Datenblocks Header-Information (12) eines Datenpakets (10) eines gekapselten Netzwerkprotokolls umfasst, und wobei der zweite Schlüssel (34) in Abhängigkeit von der Header-Information (12), insbesondere in Abhängigkeit von einer Frame Identifikation (frameID), ermittelt wird.
  4. Verfahren nach Anspruch 4, wobei der erste und zweite Schlüssel (30, 34) für das erstes Datensegment (4) des Datenblocks gespeichert werden, und wobei in Abhängigkeit von dem gespeicherten ersten und dem gespeicherten ersten und zweiten Schlüssel (30, 34) die Parameter (20) zur Weiterverarbeitung der Mehrzahl von Datensegmenten (4) aus der Lookup-Tabelle (32) ermittelt werden.
  5. Verfahren nach Anspruch 4, wobei das Netzwerkprotokoll CAN, FlexRay, XCP, CCP und/oder Ethernet ist.
  6. Verfahren nach einem der Ansprüche 4 bis 6, wobei in Abhängigkeit von einem ersten Abschnitt (96) der Header-Information (12) ein dritter Schlüssel (104) ermittelt wird, wobei in Abhängigkeit von einem zweiten Abschnitt (98) der Header-Information (12) ein vierter Schlüssel (110) ermittelt wird, und wobei als zweiter Schlüssel (34f) der dritte oder der vierte Schlüssel (104; 110) ausgewählt wird.
  7. Verfahren nach Anspruch 7, wobei ein erstes Gewicht (114) für den dritten Schlüssel (104) ermittelt wird, wobei ein zweites Gewicht (114) für den vierten Schlüssel (110) ermittelt wird, und wobei in Abhängigkeit von einem Vergleich (126) des ersten und des zweiten Gewichts (114) der dritte oder der vierte Schlüssel (104; 110) als zweiter Schlüssel (34f) ausgewählt wird.
  8. Verfahren nach Anspruch 7 oder 8, wobei in Abhängigkeit von dem ersten Abschnitt (96) der Header-Information (12) ein erster Regelschlüssel (106) ermittelt wird, wobei in Abhängigkeit von dem zweiten Abschnitt (98) der Header-Information (12) ein zweiter Regelschlüssel (112) ermittelt wird, und wobei der erste oder der zweite Regelschlüssel (104; 112) ausgewählt wird. Verfahren nach Anspruch 8 und 9, wobei in Abhängigkeit von einem Vergleich des ersten und des zweiten Gewichts (114) der erste oder der zweite Regelschlüssel (104; 112) ausgewählt wird.
  9. Verfahren nach Anspruch 10, wobei in Abhängigkeit von dem ausgewählten Regelschlüssel (80) ein in einer Regeltabelle (82) hinterlegter Schlüssel als zweiter Schlüssel (34h) ausgewählt wird.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei einer der Parameter (20) zur Weiterverarbeitung des Datensegments (4) eine Warteschlange identifiziert, in die das Datensegment (4) geschrieben wird.
  11. Verfahren nach einem der vorstehenden Ansprüche, wobei einer der Parameter (20) zur Weiterverarbeitung des Datensegments (4) eine Verarbeitungseinheit identifiziert, der das Datensegment (4) zugeführt wird.
  12. Verfahren nach einem der vorstehenden Ansprüche, wobei das Datensegment (4) verworfen wird, wenn auf Basis des ersten Schlüssels (30) und/oder auf Basis des zweiten Schlüssels (34) keine Parameter zur Weiterverarbeitung des Datensegments (4) aus der Lookup-Tabelle (32) ermittelt werden, und/oder wenn auf Basis des ersten Abschnitts (96) und/oder auf Basis des zweiten Abschnitts (98) kein dritter oder vierter Schlüssel (104; 110) ermittelt wird.
  13. Integrierter Schaltkreis, der zur Ausführung eines der vorstehenden Verfahren ausgebildet ist.
DE102014207479.7A 2014-04-17 2014-04-17 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung Pending DE102014207479A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE102014207479.7A DE102014207479A1 (de) 2014-04-17 2014-04-17 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
KR1020150052366A KR20150120301A (ko) 2014-04-17 2015-04-14 데이터 세그먼트를 데이터 세그먼트의 추가 처리와 관련하여 분류하는 방법
FR1553316A FR3020229B1 (fr) 2014-04-17 2015-04-15 Procede de classification d'un segment de donnees pour la poursuite de son traitement
JP2015084395A JP6533088B2 (ja) 2014-04-17 2015-04-16 データセグメントの更なる処理についてデータセグメントを分類する方法
CN201510179557.0A CN105007231B (zh) 2014-04-17 2015-04-16 用于关于数据段的进一步处理对数据段进行分类的方法
US14/689,523 US10051058B2 (en) 2014-04-17 2015-04-17 Method for classifying a data segment with respect to its further processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014207479.7A DE102014207479A1 (de) 2014-04-17 2014-04-17 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung

Publications (1)

Publication Number Publication Date
DE102014207479A1 true DE102014207479A1 (de) 2015-10-22

Family

ID=54249940

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014207479.7A Pending DE102014207479A1 (de) 2014-04-17 2014-04-17 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung

Country Status (6)

Country Link
US (1) US10051058B2 (de)
JP (1) JP6533088B2 (de)
KR (1) KR20150120301A (de)
CN (1) CN105007231B (de)
DE (1) DE102014207479A1 (de)
FR (1) FR3020229B1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320911B2 (en) * 2017-07-11 2019-06-11 GM Global Technology Operations LLC Vehicle network implementing XCP protocol policy and method
DE102017222616A1 (de) * 2017-12-13 2019-06-13 Robert Bosch Gmbh Verfahren zum automatisierten Erstellen von Regeln für eine regelbasierte Anomalieerkennung in einem Datenstrom
DE102018218257A1 (de) * 2018-10-25 2020-04-30 Robert Bosch Gmbh Steuergerät

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748905A (en) * 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
JP2002271318A (ja) * 2001-03-06 2002-09-20 Mitsubishi Materials Corp 無線通信装置、認証管理サーバ
US20040199786A1 (en) * 2002-12-02 2004-10-07 Walmsley Simon Robert Randomisation of the location of secret information on each of a series of integrated circuits
US6917618B2 (en) * 2003-04-02 2005-07-12 Cisco Technology, Inc. Arrangement in a router for generating a route based on a pattern of a received packet
CN100488162C (zh) * 2004-12-08 2009-05-13 中兴通讯股份有限公司 一种受控组播系统及其组播实现方法
US8619790B2 (en) * 2005-06-07 2013-12-31 Broadcom Corporation Adaptive cache for caching context and for adapting to collisions in a session lookup table
US7894451B2 (en) * 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
CN101127768B (zh) * 2007-08-24 2012-12-19 张建中 创建多维网际协议的方法和装置以及系统
US8504718B2 (en) 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
JP5672154B2 (ja) * 2011-05-31 2015-02-18 株式会社バッファロー ネットワークシステム、ゲートウェイ装置、経路決定方法、プログラム、および記憶媒体
US8681795B1 (en) * 2011-12-28 2014-03-25 Juniper Networks, Inc. Fixed latency priority classifier for network data
JP6062229B2 (ja) * 2012-11-30 2017-01-18 株式会社東芝 通信装置、通信方法およびコンピュータプログラム
CN103152165B (zh) * 2013-01-25 2016-01-20 西安电子科技大学 基于fpga的超高速aes处理器及其实现方法

Also Published As

Publication number Publication date
JP2015208003A (ja) 2015-11-19
FR3020229A1 (fr) 2015-10-23
US10051058B2 (en) 2018-08-14
US20150312150A1 (en) 2015-10-29
CN105007231A (zh) 2015-10-28
KR20150120301A (ko) 2015-10-27
CN105007231B (zh) 2020-07-28
FR3020229B1 (fr) 2018-05-04
JP6533088B2 (ja) 2019-06-19

Similar Documents

Publication Publication Date Title
EP2882145B1 (de) Verfahren und Filteranordnung zum Speichern von Informationen über einen seriellen Datenbus eines Kommunikationsnetzwerks eingehender Nachrichten in einem Teilnehmer des Netzwerks
DE102006012614B4 (de) Verfahren und Vorrichtung für den Durchlauf von Paketen durch eine Einrichtung zur Netzwerkadressenübersetzung
EP3542511B1 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
DE102018209407A1 (de) Verfahren und Vorrichtung zur Behandlung einer Anomalie in einem Kommunikationsnetzwerk
DE112016002952T5 (de) Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz
DE102019114309A1 (de) Verfahren zum Routen von Telegrammen in einem Automatisierungsnetzwerk, Datenstruktur, Automatisierungsnetzwerk und Netzwerkverteiler
DE102014207479A1 (de) Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
DE102014224944A1 (de) Verfahren und Steuergerät zur Übertragung sicherheitsrelevanter Daten in einem Kraftfahrzeug mittels eines Ethernet-Standards
DE102018215945A1 (de) Verfahren und Vorrichtung zur Anomalie-Erkennung in einem Fahrzeug
DE102022202878A1 (de) Verwendung einer datenverarbeitungseinheit als vorprozessor für maschinelles lernen auf der basis einer grafikverarbeitungseinheit
DE102016211189B4 (de) Weiterleitungsvorrichtung
WO2023025764A1 (de) Vorrichtung und verfahren zur verarbeitung von dateneinheiten
DE102016211066A1 (de) Repeater
WO2011134761A2 (de) Verfahren zur bereitstellung einer kommunikation für mindestens ein gerät
DE102019218061A1 (de) Weiterleitungsgerät
EP3560153B1 (de) Verfahren zum betreiben einer datenverarbeitungsanlage, datenverarbeitungsanlage
DE10327545A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten
WO2023187179A1 (de) Vorrichtung und verfahren zur verarbeitung von dateneinheiten
DE102015200301A1 (de) Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
DE102015210961A1 (de) Verfahren zum Konfigurieren eines Netzknotens eines Telekommunikationsnetzes, Telekommunikationsnetz, Netzknoten, Programm und Computerprogrammprodukt
DE102014207800B4 (de) Verfahren und Vorrichtung zum Reduzieren einer Netzwerklast bei Multicast- und Broadcast-Kommunikation
DE102018222799A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Datenpaketen
DE102023120331A1 (de) Beschleunigung einer sicheren Kommunikation unter Verwendung eines Rahmenklassifizierers
WO2022263359A1 (de) Vorrichtung und verfahren zur verarbeitung von dateneinheiten
DE102024201894A1 (de) Filter für eine konvertierte weiterleitungstabelle in einem schienenoptimierten netzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012865000

Ipc: H04L0047627500