DE102015200301A1 - 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
DE102015200301A1
DE102015200301A1 DE102015200301.9A DE102015200301A DE102015200301A1 DE 102015200301 A1 DE102015200301 A1 DE 102015200301A1 DE 102015200301 A DE102015200301 A DE 102015200301A DE 102015200301 A1 DE102015200301 A1 DE 102015200301A1
Authority
DE
Germany
Prior art keywords
identifier
key
data segment
hash
header information
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
DE102015200301.9A
Other languages
English (en)
Inventor
Herbert Leuwer
Stefan Kreuz
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 DE102015200301.9A priority Critical patent/DE102015200301A1/de
Priority to US14/992,155 priority patent/US10042917B2/en
Priority to CN201610017173.3A priority patent/CN105791127B/zh
Priority to KR1020160003460A priority patent/KR102353538B1/ko
Priority to FR1650236A priority patent/FR3031642B1/fr
Publication of DE102015200301A1 publication Critical patent/DE102015200301A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Es wird ein Verfahren zum Klassifizieren eines Datensegments (4) bezüglich dessen Weiterverarbeitung in einer Datentransporteinheit (18) vorgeschlagen. Das Datensegment (4) umfasst eine Header-Information (12) eines Datenpakets (10) eines gekapselten Netzwerkprotokolls. Ein Parameter (20) zur Weiterverarbeitung des Datensegments (4) wird in Abhängigkeit von einem Tabelleneintrag in einer Lookup-Tabelle (32), der zu einem ermittelten Schlüssel für die Lookup-Tabelle (32) korrespondiert, 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), Extended CAN 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 Kommunikationsmatrizen unter großem Aufwand bzgl. des Datenspeichers realisiert werden. Insbesondere die gestiegene Anzahl von Netzwerktypen und die gestiegene Anzahl von Teilnetzen im Automobilbereich erschweren die Konstruktion einer flexiblen Gateway-Einheit zwischen unterschiedlichen Netzwerken.
  • Aus der Veröffentlichung "Cuckoo hashing" der Autoren Rasmus Pagh und Glemming Friche Rodler ist das sogenannte Kuckucks-Hashing bekannt.
  • 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.
  • Zur Ermittlung eines Parameters zur Weiterverarbeitung eines Datensegments wird ein entsprechender Schlüssel für eine Lookup-Tabelle in Abhängigkeit von einem ersten und einem zweiten Tabelleneintrag einer jeweiligen Hash-Tabelle mittels einer Auswahlfunktion ausgewählt. Vorteilhaft kann durch die Verwendung zweier Hash-Tabellen und zweier unterschiedlicher Hash-Funktionen das Verfahren terminierend ausgeführt werden, wobei gleichzeitig die Anzahl von Fehlermittlungen des Schlüssels und damit einem fehlerhaften Durchlassen von Datensegmenten stark reduziert wird.
  • In einer vorteilhaften Ausführungsform ermittelt eine erste Hash-Funktion einen ersten Teilbereich der Header-Information als ersten Hash-Wert. Dadurch wird eine einfache Hash-Funktion bereitgestellt, die ohne weiteres terminierend ausgeführt werden kann.
  • In einer vorteilhaften Ausführungsform ermittelt die zweite Hash-Funktion einen zweiten Teilbereich der Header-Information oder einen Festwert als zweiten Hash-Wert. Dadurch wird eine einfache Hash-Funktion bereitgestellt, die ohne weiteres terminierend ausgeführt werden kann.
  • In einer vorteilhaften Ausführungsform wird ein Passierbit-Index in Abhängigkeit von einer vorab festgelegten Kennung und in Abhängigkeit von einer Kennung einer Eingangsschnittstelle, von der das Datensegment stammt, ermittelt. In Abhängigkeit von zwei Passierbits, die sich an einer durch den Passierbit-Index festgelegten Stelle in jeweiligen Bitfolgen der Tabelleneinträge befinden, wird der Schlüssel für die Lookup-Tabelle ausgewählt. Durch den Einsatz der Passierbits aus den Bitfolgen der jeweiligen Tabelleneinträge wird vorteilhaft die Nicht-Injektivität der verwendeten Hash-Funktion ausgeglichen werden. Dies erlaubt es insbesondere bezogen auf die Eingangsschnittstelle bei einer Kollision durch zumindest abschnittsweise gleichen Inhalt der Header-Information zu entscheiden, ob Hash-Tabelleneinträge geöffnet d.h. auf sie abgebildete Datensegmente verwendet werden oder nicht um so eine exaktere Filterung der Datensegmente zu erreichen.
  • In einer vorteilhaften Ausführungsform umfasst die Header-Information eine Extended-CAN-Kennung, wobei der erste Teilbereich einen ersten Teil der Extended-CAN-Kennung oder einen Teil davon umfasst, und wobei der zweite Teilbereich einen zweiten Teil der Extended-CAN-Kennung oder einen Teil davon umfasst.
  • In einer vorteilhaften Ausführungsform werden zur Ermittlung des ersten und/oder zweiten Teilbereichs eine Anzahl von Bits, insbesondere drei Bits, der Extended-CAN-Kennung ausgeblendet.
  • In einer vorteilhaften Ausführungsform umfasst die Header-Information eine Standard-CAN-Kennung, wobei der erste Teilbereich die Standard-CAN-Kennung umfasst, und wobei der zweite Teilbereich an allen Stellen Null ist.
  • In einer vorteilhaften Ausführungsform umfasst die Header-Information eine Flexray-Kennung, wobei der erste Teilbereich die Flexray-Kennung, ein Flexray-Kanal-Bit und einen ersten Teil eines Flexray-Zyklus-Felds umfasst, und wobei der zweite Teilbereich einen zweiten Teil des Flexray-Zyklus-Felds umfasst.
  • In einer vorteilhaften Ausführungsform wird ein zweiter Schlüssel für die Lookup-Tabelle in Abhängigkeit von einer vorab festgelegten Kennung und in Abhängigkeit von einer Kennung der Eingangsschnittstelle, von der das Datensegment stammt, ermittelt, wobei der Parameter zur Weiterverarbeitung des Datensegments in Abhängigkeit von dem ersten Schlüssel und dem zweiten Schlüssel aus der Lookup-Tabelle ermittelt wird.
  • In einer vorteilhaften Ausführungsform wird der erste und zweite Schlüssel für ein erstes der Datensegmente eines der Datenblöcke gespeichert, wobei in Abhängigkeit von dem gespeicherten ersten und dem gespeicherten zweiten Schlüssel die Parameter zur Weiterverarbeitung der Mehrzahl von Datensegmenten aus der Lookup-Tabelle ermittelt werden.
  • In einer vorteilhaften Ausführungsform identifiziert einer der Parameter zur Weiterverarbeitung des Datensegments eine Warteschlange, in die das Datensegment geschrieben wird.
  • In einer vorteilhaften Ausführungsform identifiziert einer der Parameter zur Weiterverarbeitung des Datensegments eine Verarbeitungseinheit, der das Datensegment zugeführt wird.
  • In einer vorteilhaften Ausführungsform wird das Datensegment 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.
  • Ein Schaltkreis zur Ausführung des Verfahrens wird zu einer Konfigurationszeit außerhalb des Schaltkreises konfiguriert, wobei die erste Hash-Tabelle und die zweite Hash-Tabelle mittels des Kuckucks-Hashing gefüllt werden. Dies hat den Vorteil, dass die Anzahl der fehlerhaft weitergeleiteten Datensegmente stark reduziert wird. Dies liegt daran, dass das Kuckucks-Hashing vorteilhaft eine bessere Verteilung der Tabelleneinträge in beiden Tabellen erreicht.
  • 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. 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, 5 und 6 jeweils eine schematische Header-Information; und
  • 7 ein schematisches Ablaufdiagramm.
  • 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 auch weitere, hier nicht genannte Netzwerkprotokolle denkbar.
  • Einer der Parameter 20 identifiziert bspw. eine Warteschlange innerhalb des Blocks 18 zur Weiterverarbeitung des Datensegments 4, womit der Parameter 20 eine Verarbeitungseinheit zur Weiterverarbeitung des Datensegments 4 eindeutig identifiziert, da jede Warteschlange fest einer Datenverarbeitungseinheit zugeordnet ist.
  • 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 sein. 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 4 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 entsprechende 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 zweiter 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 zweite Schlüssel 30 in Abhängigkeit von der Kennung devid der Eingangsschnittstelle 6 und der vorab vereinbarten Kennung chid ermittelt werden. Über den zweiten 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 64 werden der zweite Schlüssel 30 und ein erster Schlüssel 34 zugeführt. Aus dem zweiten Schlüssel 30 und dem ersten Schlüssel 34 wird ein Lookup-Schlüssel 36 gebildet, bspw. durch Addition des zweiten Schlüssels 30 und des ersten Schlüssels 34. Bei der Addition stellt der erste Schlüssel 34 beispielsweise einen Offset zu dem zweiten Schlüssel 30 dar. Selbstverständlich sind auch andere Kombinationen des zweiten Schlüssels 30 und des ersten 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 erster Schlüssel 34 weitergeleitet wird.
  • Der Block 46 ermittelt einen ersten Schlüssel 34a in Abhängigkeit von der vorab festgelegten Kennung chid.
  • Der Block 48 erzeugt einen ersten 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), das über das Ethernet-Protokoll transportiert wird. 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.
  • Ein Block 65 dient somit zur Erzeugung und Auswahl des ersten Schlüssels 34. Insbesondere durch Auswertung der Header-Information 12 wird der erste 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.
  • Der Block 68 greift auf eine erste Hash-Tabelle 72 und eine zweite Hash-Tabelle 74 zu. Der Block 68 erzeugt einen ersten Schlüssel 34e. Der Block 24 führt dem Block 68 einen nachgehend erläuterten Passierbit-Index 76 zu, der in Abhängigkeit von den Kennungen devid und chid beispielsweise mit einer entsprechenden Umsetzungstabelle ermittelt wird.
  • 3 zeigt ein schematisches Blockdiagramm des Blocks 68 aus 2. Die Header-Information 12 wird einem Block 80 zur Erzeugung eines ersten Hash-Werts 82 zugeführt. Die Header-Information 12 wird einem Block 84 zur Erzeugung eines zweiten Hash-Werts 86 zugeführt. Der Block 80 verknüpft eine Bitmaske 88 mit der Header-Information 12 gemäß einer UND-Operation, wobei niederwertige Bits der Header-Information 12 den ersten Hash-Wert 82 bilden. Der Block 68 ermittelt in nicht dargestellter Form einen TLV-Typ (TLV: Type Length Value) der Header-Information 12, d.h. ob es sich bei der Header-Information 12 um Standard-CAN, Extended-CAN oder Flexray handelt. Damit werden bevorzugt 13 Bits aus dem TLV-Format der Header-Information 12 herausgesucht und zu dem ersten Hash-Wert 82 zusammengesetzt. Die Bitmaske 88 und der Block 80 werden allgemein als erste Hash-Funktion 92 bezeichnet. Die erste Hash-Funktion 92 ermittelt in Abhängigkeit von dem TLV-Typ der Header-Information 12 die Bitmaske 88.
  • Der Block 84 verknüpft eine Bitmaske 90 mit der Header-Information 12 gemäß einer UND-Operation, wobei höherwertige Bits der Header-Information 12 den zweiten Hash-Wert 86 bilden. Damit werden bevorzugt 13 Bits aus dem TLV-Format der Header-Information 12 herausgesucht und zu dem zweiten Hash-Wert 86 zusammengesetzt. Die Bitmaske 90 und der Block 84 werden allgemein als zweite Hash-Funktion 94 bezeichnet. Die zweite Hash-Funktion 94 ermittelt in Abhängigkeit von dem TLV-Typ der Header-Information 12 die Bitmaske 90. Der erste Hash-Wert 82 und der zweite Hash-Wert 86 umfassen in der bevorzugten Ausführungsform jeweils 13 Bits. Selbstverständlich kann auch eine andere Anzahl von Bits aus der Header-Information 12 für die Hash-Werte 82 und 86 gewählt werden.
  • Der erste Hash-Wert 82 indiziert einen ersten Tabelleneintrag 96 in der ersten Hash-Tabelle 72. Der zweite Hash-Wert 86 indiziert einen zweiten Tabelleneintrag 98 in der zweiten Hash-Tabelle 74. Der erste Tabelleneintrag 96 der ersten Hash-Tabelle 72 umfasst einen ersten Bezeichner 100, eine erste Bitfolge 102 und eine zweite Bitfolge 104. Der zweite Tabelleneintrag 98 der zweiten Hash-Tabelle 74 umfasst einen zweiten Bezeichner 110, eine erste Bitfolge 112 und eine zweite Bitfolge 114.
  • Einem Block 106 werden der erste Bezeichner 100, der zweite Hash-Wert 86, der erste Hash-Wert 82, der zweite Bezeichner 110, der Passierbit-Index 76, einen Verwurfs-Schlüssel 118 und einen Passier-Schlüssel 120 zugeführt. Des Weiteren werden dem Block 106 auch die Bitfolgen 102, 104, 112 und 114 der jeweiligen Einträge 96 und 98 zugeführt. Der Block 106, dessen Funktion in 7 näher erläutert ist, wählt entweder den Verwurfs-Schlüssel 118 oder den Passier-Schlüssel 120 als ausgewählten Schlüssel 122 aus und leitet den Schlüssel 122 an einen Block 124 weiter. Der Passier-Schlüssel 120 zeigt in der Lookup-Tabelle 32 auf einen Eintrag, der Parameter 20 zur Weiterverarbeitung enthält. Ein Parameter 20 zur Weiterverarbeitung zeigt beispielsweise auf eine Anzahl von einer oder mehrerer Warteschlangen, in die das Datensegment 4 eingestellt wird. So können Multicast-Gruppen von Warteschlangen gebildet werden, wobei das Datensegment 4 in jede Warteschlange der Multicast-Gruppe eingestellt wird.
  • Der Verwurfs-Schlüssel 118 hingegen zeigt auf einen Eintrag in der Lookup-Tabelle 32, der Parameter 20 enthält, die entweder zu einem Verwerfen des Datensegments 4 oder zu einer Weiterleitung an eine Debug-Warteschlange führt. Die Debug-Warteschlange wird durch eine Debug-Funktion ausgewertet, um die empfangenen Datensegmente 4 beispielsweise zu einer Fehlersuche in dem empfangenen Datenverkehr entsprechend aufzubereiten. Selbstverständlich können auch für den Verwurfs-Schlüssel 118 Multicast-Gruppen von Debug-Warteschlangen gebildet werden.
  • Der Block 124 wählt entweder einen Default-Schlüssel als ersten Schlüssel 34e aus, wenn kein Frameinhalt in dem Datensegment 4 vorhanden ist, d.h. wenn der TLV-Typ nicht vom Typ CAN oder vom Typ FlexRay ist. Oder der Block 124 wählt den gerade ermittelten Schlüssel 122 als ersten Schlüssel 34e aus. Dies wird mit einem Signal 126 dem Block 124 mitgeteilt.
  • 4 zeigt eine schematische Header-Information 12a eines Extended-CAN Protokolls, wobei die Header-Information 12 eine Extended-CAN-Kennung umfasst. Die Extended-CAN-Kennung 128 umfasst einen ersten Teil 130, der eine Anzahl von 11 Bits umfasst, und einen zweiten Teil 132, der eine Anzahl von 18 Bits umfasst. Gemäß der ersten Hash-Funktion 92 werden eine Anzahl von Bits, vorliegend eine Anzahl von drei Bits 134, der niederwertigen Bits des zweiten Teils 132 nicht berücksichtigt und der erste Hash-Wert 82 ergibt sich aus dem ersten Teil 130 und den zwei niederwertigsten Bits des zweiten Teils 132. Der zweite Hash-Wert 86 ergibt sich gemäß der zweiten Hash-Funktion 94 aus den restlichen 13 höherwertigen Bits des zweiten Teils 132. Selbstverständlich können die nicht berücksichtigten Bits 134 auch an einer anderen Stelle gewählt werden.
  • Der erste Hash-Wert 82 wird auch als erster Teilbereich der Header-Information 12 bezeichnet, wobei der erste Teilbereich niederwertige Bits der Header-Information 12 adressiert. Der zweite Hash-Wert 86 wird auch als zweiter Teilbereich der Header-Information 12 bezeichnet, wobei der zweite Teilbereich höherwertige Bits der Header-Information 12 adressiert.
  • 5 zeigt eine schematische Header-Information 12b eines Standard-CAN-Protokolls, wobei diese eine Anzahl von 11 Bits umfassende Standard-CAN-Kennung 136 und zwei weitere Bits 138 und 140 umfasst. Der erste Hash-Wert 82 wird aus der Header-Information 12b gemäß der ersten Hash-Funktion 92 gebildet. Der zweite Hash-Wert 86 wird mit einem Festwert, beispielsweise mit nur Nullen oder nur Einsen, gefüllt.
  • 6 zeigt eine schematische Header-Information 12c eines Flexray-Protokolls mit einer Flexray-Kennung 142, ein Flexray-Kanal-Bit 144 und ein Flexray-Zyklus-Feld 146. Gemäß der ersten Hash-Funktion 92 wird der erste Hash-Wert 82 gebildet. Gemäß der zweiten Hash-Funktion 94 wird der zweite Hash-Wert 86 gebildet.
  • 7 zeigt ein schematisches Ablaufdiagramm des Blocks 106 aus 2. An einer Stelle 148 wird geprüft, ob es sich bei dem untersuchten Datensegment 4 mit der Header-Information 12 um ein Datensegment 4 eines gekapselten Extended-CAN-Protokolls handelt. In einem Schritt 150 wird, wenn es sich um das Extended-CAN-Protokoll handelt, ein erstes Passierbit an einer durch den Passierbit-Index 76 bestimmten Stelle der Bitfolge 102 und ein zweites Passierbit an der durch den Passierbit-Index 76 bestimmten Stelle der Bitfolge 112 ermittelt. In einem Schritt 152 wird, wenn es sich um kein Extended-CAN-Protokoll handelt, das erste Passierbit an der durch den Passierbit-Index 76 bestimmten Stelle der Bitfolge 104 und das zweite Passierbit an der durch den Passierbit-Index 76 bestimmten Stelle der Bitfolge 114 ermittelt. Die Bitfolgen 102 und 112 werden für Extended-CAN vorkonfiguriert. Die Bitfolgen 104 und 114 werden für die anderen gekapselten Netzwerkprotokolle wie Standard-CAN und Flexray vorkonfiguriert.
  • An einer Stelle 154 werden das erste und zweite Passierbit ausgewertet. Sind beide Passierbits Eins, d.h. sind die beiden Passierbits nach boolscher Algebra "wahr", so wird in dem Schritt 156 der Passier-Schlüssel 120 zur Weiterleitung ausgewählt, andernfalls, d.h. ist mindestens eines der beiden Passierbits Null bzw. nach boolscher Algebra "falsch", wird zu einer Stelle 158 gewechselt.
  • An der Stelle 158 wird die Header-Information 12 mit dem ersten Bezeichner 100 verknüpft. Lässt sich der erste Bezeichner 100 zumindest in einem Teilbereich der Header-Information 12 auffinden, so wird in den Schritt 156 gewechselt, andernfalls wird zu einer Stelle 160 gewechselt.
  • An der Stelle 160 wird die Header-Information 12 mit dem zweiten Bezeichner 110 verknüpft. Lässt sich der zweite Bezeichner 110 zumindest in einem Teilbereich der Header-Information 12 auffinden, so wird in den Schritt 156 gewechselt, andernfalls wird in einem Schritt 162 der Verwurfs-Schlüssel 118 zur Weiterleitung ausgewählt.
  • In einer bevorzugten Ausführungsform werden der erste Bezeichner 100 und der zugehörige erste Hash-Wert 82 als disjunkte Teile der Header-Information 12 gewählt. Ebenso werden der zweite Bezeichner 110 und der zweite Hash-Wert 86 als disjunkte Teile der Header-Information 12 gewählt. Umfasst die Header-Information 12 eine Anzahl von 29 Bits, so werden eine Anzahl von 13 niederwertigen Bits als erster Hash-Wert 82 ermittelt und eine Anzahl von 16 höherwertigen Bits als erster Bezeichner 100. Eine Anzahl von 13 höherwertigen Bits wird als zweite Hash-Wert 86 ermittelt und eine Anzahl von 16 niederwertigen Bits wird als zweiter Bezeichner 110 ermittelt. Selbstverständlich ist auch eine andere Aufteilung, auch in Bereiche, die nicht die gesamte Anzahl an Bits der Header-Information 12 ausnutzen, möglich. Selbstverständlich kann auch die gesamte Header-Information 12 als Bezeichner 100 bzw. 110 abgespeichert werden. Mithin ist es während der Laufzeit vorteilhaft möglich, zum einen die empfangene Header-Information 12 mit einer erwarteten Header-Information gemäß dem Bezeichner 100 bzw. 110 zu vergleichen und zum anderen durch die reduzierte Anzahl von 29 auf 16 Bits den Speicherplatz für die Bezeichner 100, 110 klein zu halten. Somit wird ein Kompromiss zwischen benötigtem Speicherplatz und sicherer Erkennung und Zuordnung der Header-Information 12 geschaffen. Die Erzeugung der Tabelleneinträge 96 und 98 geschieht während der Konfigurationszeit, die Verwendung der Tabelleneinträge 96 und 98 geschieht während der Laufzeit.
  • Der erste Schlüssel 34e für die Lookup-Tabelle 32 wird in Abhängigkeit von dem ersten und zweiten Tabelleneintrag 96, 98 mittels einer Auswahlfunktion gemäß dem Block 106 ausgewählt. Die Abhängigkeit des ersten Schlüssels 34e von dem ersten und zweiten Tabelleneintrag 96, 98 bedeutet, dass beide Tabelleneinträge 96, 98 abgefragt werden, um den ersten Schlüssel 34e zu ermitteln.
  • Zur Konfiguration des Schaltkreises werden zu der Konfigurationszeit außerhalb des Schaltkreises bzw. auf einer Prozessoreinheit die erste Hash-Tabelle 72 und die zweite Hash-Tabelle 74 mittels des Kuckucks-Hashing gefüllt. Hierzu wird bei einem neuen einzufügenden Eintrag mit der ersten Hash-Tabelle 72 gestartet, der Kuckuck-Hashing-Algorithmus fügt den neuen Eintrag in der Hash-Tabelle 72 ein, falls dort Platz ist. Ist der entsprechende Platz belegt, wird versucht, den dortigen Eintrag in die Hash-Tabelle 74 zu verschieben. Ist dort auch ein belegter Platz vorhanden, wird wiederum versucht, den dortigen Eintrag in die Hash-Tabelle 72 zu verschieben. Kann der Eintrag nicht eingefügt werden, da alle Verschiebungsversuche des Kuckucks-Hashings zwischen den Tabellen erfolglos geblieben sind, wird mit der Hash-Tabelle 74 gestartet. Ist auch ein Einfügen in die Hash-Tabelle 74 erfolglos, so werden entweder in den beiden Bitfolgen 102 und 112 oder in den beiden Bitfolgen 104 und 114, d.h. in Abhängigkeit vom Vorliegen einer Header-Information 12 gemäß Extended-CAN, an einer durch den Passierbit-Index 76 bestimmten Stelle die Bits auf Eins gesetzt. Der Passierbit-Index 76 bestimmt sich in Abhängigkeit von den Kennungen devid und chid, die gemeinsam eine von mehreren Eingangsschnittstellen 6 identifizieren. Sind die erste und zweite Hash-Tabelle 72, 74 fertiggestellt, werden diese auf den integrierten Schaltkreis in entsprechende Speicher geladen. Durch das Vorsehen und Verwenden der Passierbits ist es während der Laufzeit möglich, Hashing-Kollisionen aufzulösen. Insbesondere wird damit darauf verzichtet, diese Kollisionen während der Laufzeit zu erkennen. Es werden jedoch die obigen Maßnahmen im Sinne des Vorsehens der Hash-Werte und der Passierbits ergriffen, um möglichst viele Hashing-Kollisionen während der Laufzeit effizient aufzulösen. Auf der anderen Seite können nicht alle möglichen Kollisionen vorhergesehen werden, weshalb eine reduzierte Leakage, d.h. eine Kollision die zu einer Falschbehandlung der Datensegmente 4 führt, in Kauf genommen wird.

Claims (15)

  1. Ein Verfahren zum Klassifizieren eines Datensegments (4) bezüglich dessen Weiterverarbeitung in einer Datentransporteinheit (18), insbesondere in einem Netzwerkprozessor, dadurch gekennzeichnet, – dass das Datensegment (4) eine Header-Information (12) eines Datenpakets (10) eines gekapselten Netzwerkprotokolls umfasst, – dass ein erster Hash-Wert (82) in Abhängigkeit von der Header-Information (12), die als Suchschlüssel fungiert, mittels einer ersten Hash-Funktion (92) ermittelt wird, – dass ein zweiter Hash-Wert (86) in Abhängigkeit von der Header-Information (12), die als Suchschlüssel fungiert, mittels einer zweiten Hash-Funktion (94) ermittelt wird, – dass ein erster Tabelleneintrag (96) in einer ersten Hash-Tabelle (72) in Abhängigkeit von dem ersten Hash-Wert (82) ermittelt wird, – dass ein zweiter Tabelleneintrag (98) in einer zweiten Hash-Tabelle (74) in Abhängigkeit von dem zweiten Hash-Wert (86) ermittelt wird, – dass ein Schlüssel (34e; 122; 118, 120) für eine Lookup-Tabelle (32) in Abhängigkeit von dem ersten und zweiten Tabelleneintrag (96, 98) mittels einer Auswahlfunktion (106) ausgewählt wird, und – dass ein Parameter (20) zur Weiterverarbeitung des Datensegments (4) in Abhängigkeit von einem Tabelleneintrag in der Lookup-Tabelle (32), der zu dem Schlüssel (34e) für die Lookup-Tabelle (32) korrespondiert, ermittelt wird.
  2. Das Verfahren nach Anspruch 1, wobei die erste Hash-Funktion (92) einen ersten Teilbereich der Header-Information (12) als ersten Hash-Wert (82) ermittelt.
  3. Das Verfahren nach Anspruch 2, wobei die zweite Hash-Funktion (94) einen zweiten Teilbereich der Header-Information (12) oder einen Festwert als zweiten Hash-Wert (86) ermittelt.
  4. Das Verfahren nach einem der vorstehenden Ansprüche, wobei ein Passierbit-Index (76) in Abhängigkeit von einer vorab festgelegten Kennung (chid) und in Abhängigkeit von einer Kennung (devid) einer Eingangsschnittstelle (6), von der das Datensegment (4) stammt, ermittelt wird, und wobei in Abhängigkeit von zwei Passierbits, die sich an einer durch den Passierbit-Index (76) festgelegten Stelle in jeweiligen Bitfolgen (102, 112; 104, 114) der ersten und zweiten Tabelleneinträge (96, 98) befinden, der Schlüssel (34e; 122; 118, 120) für die Lookup-Tabelle (32) ausgewählt wird.
  5. Das Verfahren nach einem der vorstehenden Ansprüche, wobei die Header-Information (12a) eine Extended-CAN-Kennung umfasst, wobei der erste Teilbereich einen ersten Teil der Extended-CAN-Kennung oder einen Teil davon umfasst, und wobei der zweite Teilbereich einen zweiten Teil der Extended-CAN-Kennung oder einen Teil davon umfasst.
  6. Das Verfahren nach Anspruch 5, wobei zur Ermittlung des ersten und/oder zweiten Teilbereichs eine Anzahl von Bits, insbesondere drei Bits, der Extended-CAN-Kennung ausgeblendet werden.
  7. Das Verfahren nach einem der vorstehenden Ansprüche, wobei die Header-Information (12b) eine Standard-CAN-Kennung umfasst, wobei der erste Teilbereich die Standard-CAN-Kennung umfasst, und wobei der zweite Teilbereich an allen Stellen Null ist.
  8. Das Verfahren nach einem der vorstehenden Ansprüche, wobei die Header-Information (12) eine Flexray-Kennung (142) umfasst, wobei der erste Teilbereich die Flexray-Kennung (142), ein Flexray-Kanal-Bit (144) und einen ersten Teil eines Flexray-Zyklus-Felds (146) umfasst, und wobei der zweite Teilbereich einen zweiten Teil des Flexray-Zyklus-Felds (146) umfasst.
  9. Das Verfahren nach einem der vorstehenden Ansprüche, wobei ein zweiter Schlüssel (30) für die 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 wobei der Parameter (20) zur Weiterverarbeitung des Datensegments (4) in Abhängigkeit von dem ersten Schlüssel (34) und dem zweiten Schlüssel (30) aus der Lookup-Tabelle (32) ermittelt wird.
  10. Das Verfahren nach einem der vorstehenden Ansprüche, wobei der erste und zweite Schlüssel (34, 30) für ein erstes der Datensegmente (4) eines der Datenblöcke gespeichert wird, und wobei in Abhängigkeit von dem gespeicherten ersten und dem gespeicherten zweiten Schlüssel (34, 30) die Parameter (20) zur Weiterverarbeitung der Mehrzahl von Datensegmenten (4) aus der Lookup-Tabelle (32) ermittelt werden.
  11. Das 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.
  12. Das 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.
  13. Ein Integrierter Schaltkreis, der zur Ausführung eines der vorstehenden Verfahren ausgebildet ist.
  14. Ein Verfahren zur Konfiguration des Schaltkreises nach dem vorstehenden Anspruch, wobei zu einer Konfigurationszeit außerhalb des Schaltkreises die erste Hash-Tabelle (72) und die zweite Hash-Tabelle (74) mittels des Kuckucks-Hashings gefüllt werden.
  15. Das Verfahren nach dem vorstehenden Anspruch, wobei die erste und zweite Hash-Tabelle (72, 74) auf den integrierten Schaltkreis geladen werden.
DE102015200301.9A 2015-01-13 2015-01-13 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung Pending DE102015200301A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102015200301.9A DE102015200301A1 (de) 2015-01-13 2015-01-13 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
US14/992,155 US10042917B2 (en) 2015-01-13 2016-01-11 Method for classifying a data segment with regard to its further processing
CN201610017173.3A CN105791127B (zh) 2015-01-13 2016-01-12 用于关于数据段的进一步处理对数据段分类的方法
KR1020160003460A KR102353538B1 (ko) 2015-01-13 2016-01-12 데이터 세그먼트를 데이터 세그먼트의 처리와 관련하여 분류하기 위한 방법
FR1650236A FR3031642B1 (fr) 2015-01-13 2016-01-13 Procede de classification d'un segment de donnees pour la suite de son traitement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015200301.9A DE102015200301A1 (de) 2015-01-13 2015-01-13 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung

Publications (1)

Publication Number Publication Date
DE102015200301A1 true DE102015200301A1 (de) 2016-07-14

Family

ID=56233770

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015200301.9A Pending DE102015200301A1 (de) 2015-01-13 2015-01-13 Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung

Country Status (5)

Country Link
US (1) US10042917B2 (de)
KR (1) KR102353538B1 (de)
CN (1) CN105791127B (de)
DE (1) DE102015200301A1 (de)
FR (1) FR3031642B1 (de)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE293861T1 (de) * 1999-02-26 2005-05-15 Siemens Ag Verfahren zum übertragen von ethernet-frames
US6654355B1 (en) * 1999-12-14 2003-11-25 Schneider Automation Inc. Bridge for CAN to TCP/IP connection
US6629247B1 (en) * 2000-03-28 2003-09-30 Powerware Corporation Methods, systems, and computer program products for communications in uninterruptible power supply systems using controller area networks
US6382122B1 (en) * 2001-06-22 2002-05-07 Brunswick Corporation Method for initializing a marine vessel control system
US7248585B2 (en) 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
JP4401239B2 (ja) * 2004-05-12 2010-01-20 Necエレクトロニクス株式会社 通信メッセージ変換装置、通信方法及び通信システム
CN101194477B (zh) * 2005-06-09 2012-10-31 Nxp股份有限公司 通信系统节点、与控制和缓冲相关的数据的数据存储方法
DE102005048585A1 (de) * 2005-10-06 2007-04-12 Robert Bosch Gmbh Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems
JP4376862B2 (ja) * 2005-12-20 2009-12-02 富士通テン株式会社 通信メッセージ変換装置及び通信メッセージ変換方法
US8271564B2 (en) * 2008-07-14 2012-09-18 Symbol Technologies, Inc. Lookup table arrangement and related management method for accommodating concurrent processors
JP4752884B2 (ja) * 2008-08-21 2011-08-17 ソニー株式会社 情報処理装置、およびデータ処理方法、並びにプログラム
JP5255579B2 (ja) * 2010-02-09 2013-08-07 日立オートモティブシステムズ株式会社 車内データ中継装置、車両制御システム
US8745063B2 (en) * 2010-02-16 2014-06-03 Broadcom Corporation Hashing with hardware-based reorder using duplicate values
US8681795B1 (en) * 2011-12-28 2014-03-25 Juniper Networks, Inc. Fixed latency priority classifier for network data
US8854972B1 (en) 2013-01-25 2014-10-07 Palo Alto Networks, Inc. Security device implementing flow lookup scheme for improved performance
US9317548B2 (en) * 2013-01-30 2016-04-19 International Business Machines Corporation Reducing collisions within a hash table
US10467217B2 (en) * 2013-03-19 2019-11-05 Texas Instruments Incorporated Loop detection in cuckoo hashtables
US9659046B2 (en) * 2013-07-31 2017-05-23 Oracle Inernational Corporation Probing a hash table using vectorized instructions
US9535848B2 (en) * 2014-06-18 2017-01-03 Netspeed Systems Using cuckoo movement for improved cache coherency

Also Published As

Publication number Publication date
CN105791127B (zh) 2020-09-08
US20160203210A1 (en) 2016-07-14
US10042917B2 (en) 2018-08-07
KR102353538B1 (ko) 2022-01-20
CN105791127A (zh) 2016-07-20
FR3031642B1 (fr) 2019-05-31
KR20160087349A (ko) 2016-07-21
FR3031642A1 (fr) 2016-07-15

Similar Documents

Publication Publication Date Title
DE102014204050A1 (de) Teilnehmerstation für ein Bussystem und Verfahren zur Verbesserung der Sendequalität in einem Bussystem
DE102010030811A1 (de) Automatisierte Adaption an verschiedene Industrial Ethernet Protokolle
DE102018209407A1 (de) Verfahren und Vorrichtung zur Behandlung einer Anomalie in einem Kommunikationsnetzwerk
EP3542511A1 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
DE112019002585T5 (de) Datenebene mit heavy-hitter-detektor
DE102018215945A1 (de) Verfahren und Vorrichtung zur Anomalie-Erkennung in einem Fahrzeug
EP3542510A1 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
DE102014224944A1 (de) Verfahren und Steuergerät zur Übertragung sicherheitsrelevanter Daten in einem Kraftfahrzeug mittels eines Ethernet-Standards
EP3087699B1 (de) Detektieren eines fehlerhaften knotens in einem netzwerk
DE102014207479A1 (de) Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
DE102015200301A1 (de) Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
DE102016211066A1 (de) Repeater
WO2023025764A1 (de) Vorrichtung und verfahren zur verarbeitung von dateneinheiten
EP0711055B1 (de) Verfahren und Vorrichtung zur Messung charakteristischer Grössen eines Stroms von Datenpaketen fester Länge in einem digitalen Übertragungssystem
EP2769525B1 (de) Verfahren zum verarbeiten eines datenpakets
DE102015216886A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben einer Datenverarbeitungsanlage
DE102008017192A1 (de) Verfahren zum Aufbau eines Netzwerks
DE102018206522A1 (de) Vorrichtung und Verfahren zum Auswerten eines über ein Bussystem empfangbaren Empfangssignals
DE102019129628B3 (de) Verfahren und Steuergerät zum Detektieren eines unautorisierten Datenverkehrs in einem paketorientierten Datennetzwerk eines Kraftfahrzeugs sowie entsprechendes Kraftfahrzeug
DE10296699T5 (de) Vorrichtung und Verfahren für die skalierbare, leitungsratenprotokoll-unabhängige Vermittlung zwischen mehreren Fernzugriffspunkten in einem drahtlosen lokalen Netz
WO2014053155A1 (de) Verfahren und datenverarbeitungsanordnung für ein erkennen von mehrfach empfangenen nachrichten in einem zwischenspeicher eines empfangenden netzwerkgerätes
DE102020114547B4 (de) Vorrichtung und verfahren zum abwickeln eines eingehenden kommunikations-datenrahmens
DE102016112314A1 (de) Verfahren zum Bestimmen wenigstens eines Dienstgüte-Parameters einer paketbasierten Datenübertragung
EP3602964B1 (de) Verfahren zur übertragung analyserelevanter daten, sender und system
DE102020128284A1 (de) Verfahren zum Überwachen eines Datennetzwerks in einem Kraftfahrzeug sowie Switchvorrichtung und Kraftfahrzeug

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: H04L0012743000

Ipc: H04L0045745300