[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE102018221346A1 - Method and device for classifying data packets - Google Patents

Method and device for classifying data packets Download PDF

Info

Publication number
DE102018221346A1
DE102018221346A1 DE102018221346.1A DE102018221346A DE102018221346A1 DE 102018221346 A1 DE102018221346 A1 DE 102018221346A1 DE 102018221346 A DE102018221346 A DE 102018221346A DE 102018221346 A1 DE102018221346 A1 DE 102018221346A1
Authority
DE
Germany
Prior art keywords
data
data packet
function
preferred embodiments
further preferred
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
DE102018221346.1A
Other languages
German (de)
Inventor
Josef Newald
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 DE102018221346.1A priority Critical patent/DE102018221346A1/en
Priority to CN201911250323.5A priority patent/CN111290731A/en
Publication of DE102018221346A1 publication Critical patent/DE102018221346A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/10Selecting, i.e. obtaining data of one kind from those record carriers which are identifiable by data of a second kind from a mass of ordered or randomly- distributed record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren zum Klassifizieren eines Datenpakets, aufweisend die folgenden Schritte: Auswählen einer vorgebbaren ersten Menge von Daten des Datenpakets, Anwenden wenigstens einer ersten Funktion auf die erste Menge, wobei die erste Funktion der ersten Menge einen ersten Ergebniswert zuordnet.Method for classifying a data packet, comprising the following steps: selecting a predeterminable first set of data of the data packet, applying at least one first function to the first set, the first function assigning a first result value to the first set.

Description

Stand der TechnikState of the art

Die Offenbarung betrifft ein Verfahren zum Klassifizieren von Datenpaketen. Die Offenbarung betrifft ferner eine Vorrichtung zum Klassifizieren von Datenpaketen.The disclosure relates to a method for classifying data packets. The disclosure further relates to a device for classifying data packets.

Offenbarung der ErfindungDisclosure of the invention

Bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Klassifizieren eines Datenpakets, aufweisend die folgenden Schritte: Auswählen einer vorgebbaren ersten Menge von Daten des Datenpakets, Anwenden wenigstens einer ersten Funktion auf die erste Menge, wobei die erste Funktion der ersten Menge einen ersten Ergebniswert zuordnet. Dadurch kann die erste Menge von Daten, auf welche die erste Funktion angewendet werden soll, besonders flexibel vorgegeben werden.Preferred embodiments relate to a method for classifying a data packet, comprising the following steps: selecting a predeterminable first set of data of the data packet, applying at least a first function to the first set, the first function assigning a first result value to the first set. This allows the first set of data to which the first function is to be applied to be specified in a particularly flexible manner.

Bei weiteren bevorzugten Ausführungsformen kann insbesondere die vorgebbare erste Menge von Daten des Datenpakets dynamisch ausgewählt werden, also während der Laufzeit einer das Verfahren gemäß den Ausführungsformen ausführenden Vorrichtung. Dadurch ist es bei weiteren bevorzugten Ausführungsformen beispielsweise möglich, von unterschiedlichen Datenpaketen jeweils unterschiedliche erste Mengen von Daten auszuwählen, auf die die jeweilige erste Funktion angewendet werden soll.In further preferred embodiments, in particular the predeterminable first set of data of the data packet can be selected dynamically, that is to say during the runtime of a device that executes the method according to the embodiments. As a result, in further preferred embodiments it is possible, for example, to select different first sets of data from different data packets to which the respective first function is to be applied.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen aufweist: a) Auswählen einer vorgebbaren Anzahl von Bits des Datenpakets. Mit anderen Worten kann bei weiteren bevorzugten Ausführungsformen die vorgebbare erste Menge auf Bitebene ausgewählt werden, wodurch eine besonders präzise Auswahl von Daten ermöglicht ist, auf die die erste Funktion angewendet werden soll. Bei diesen Ausführungsformen kann weiter vorteilhaft insbesondere auch eine solche erste Menge von Daten ausgewählt werden, welche in einem entsprechenden Adressbereich des Datenpakets beispielsweise hinsichtlich ihrer Anfangsadresse und/oder an Endadresse nicht mit einer Byte-Grenze zusammenfällt. Beispielsweise kann somit bei weiteren bevorzugten Ausführungsformen ein Datenbereich eines zu verarbeitenden Datenpakets ausgewählt werden, der sich von dem ersten Bit des Datenpakets bis zu dem zwölften Bit des Datenpakets erstreckt.In further preferred embodiments it is provided that the selection comprises: a) selection of a predeterminable number of bits of the data packet. In other words, in further preferred embodiments, the predeterminable first set can be selected at the bit level, which enables a particularly precise selection of data to which the first function is to be applied. In these embodiments, it is also particularly advantageous to select such a first set of data that does not coincide with a byte boundary in a corresponding address area of the data packet, for example with regard to its start address and / or end address. For example, in further preferred embodiments, a data area of a data packet to be processed can thus be selected, which extends from the first bit of the data packet to the twelfth bit of the data packet.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen ein Auswählen einer vorgebbaren Anzahl von Bytes des Datenpakets aufweist, mithin eine Selektion der vorgebbaren ersten Menge von Daten auf Byte-Ebene.In further preferred embodiments it is provided that the selection comprises a selection of a predeterminable number of bytes of the data packet, and consequently a selection of the predefinable first set of data at the byte level.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen das Auswählen von aufeinanderfolgenden Bits und/oder Bytes des Datenpakets umfasst, insbesondere von beliebigen aufeinanderfolgenden Bits und/oder Bytes des Datenpakets, insbesondere des gesamten Datenpakets. Mit anderen Worten ergibt sich bei diesen Ausführungsformen die vorgebbare erste Menge von Daten als ein zusammenhängender Datenbereich (insbesondere beliebig wählbarer Datenbereich) des Datenpakets, beispielsweise charakterisiert durch eine Anfangsadresse (repräsentiert beispielsweise durch ein Bit und/oder ein Byte) und eine Endadresse (repräsentiert beispielsweise durch ein Bit und/oder ein Byte) innerhalb des Adressraums des Datenpakets.In further preferred embodiments it is provided that the selection comprises the selection of successive bits and / or bytes of the data packet, in particular of any successive bits and / or bytes of the data packet, in particular of the entire data packet. In other words, in these embodiments the predeterminable first set of data results as a coherent data area (in particular any selectable data area) of the data packet, for example characterized by a start address (represented for example by a bit and / or a byte) and an end address (represented for example) by a bit and / or a byte) within the address space of the data packet.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass eine Anfangsadresse und/oder einer Endadresse eines Datenbereichs des Datenpakets, der als vorgebbare erste Menge ausgewählt werden soll, frei wählbar ist.In further preferred embodiments, it is provided that a start address and / or an end address of a data area of the data packet that is to be selected as a predefinable first set can be freely selected.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen das Auswählen von wenigstens zwei nicht aufeinanderfolgenden Bits und/oder von wenigstens zwei nicht aufeinanderfolgenden Bytes des Datenpakets umfasst. Dadurch sind weitere vorteilhafte Freiheitsgrade bezüglich der Zusammenstellung der vorgebbaren ersten Menge von Daten des Datenpakets gegeben, auf die die erste Funktion angewendet werden soll. Beispielsweise können bei weiteren bevorzugten Ausführungsformen die ersten vier Bytes eines betrachteten Datenpakets sowie das zwölfte und dreizehnte Byte eines betrachteten Datenpakets als vorgebbare erste Menge ausgewählt werden. Bei weiteren bevorzugten Ausführungsformen werden die ausgewählten, nicht aufeinanderfolgenden Bits und/oder Bytes, welche die vorgebbare erste Menge bilden, z.B. im Sinne einer Konkatenation hintereinander gehängt. Bei dem vorstehend genannten Beispiel besteht die vorgebbare erste Menge somit aus insgesamt sechs Bytes Daten, wobei die ersten vier Bytes dieser Daten den ersten 4 Bytes des betrachteten Datenpakets entsprechen, und das fünfte und sechste Byte dieser Daten entspricht dem zwölften und dreizehnten Byte des betrachteten Datenpakets.In further preferred embodiments it is provided that the selection comprises the selection of at least two non-consecutive bits and / or at least two non-consecutive bytes of the data packet. This provides further advantageous degrees of freedom with regard to the compilation of the predefinable first set of data of the data packet, to which the first function is to be applied. For example, in further preferred embodiments, the first four bytes of a data packet under consideration and the twelfth and thirteenth bytes of a data packet under consideration can be selected as a predeterminable first set. In further preferred embodiments, the selected, non-consecutive bits and / or bytes which form the predeterminable first set, e.g. hung one behind the other in the sense of a concatenation. In the example mentioned above, the predeterminable first set thus consists of a total of six bytes of data, the first four bytes of this data corresponding to the first 4 bytes of the data packet under consideration, and the fifth and sixth bytes of this data corresponding to the twelfth and thirteenth bytes of the data packet under consideration .

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass zusätzlich zu der ersten Funktion wenigstens eine zweite Funktion auf die erste Menge angewendet wird, wobei die wenigstens eine zweite Funktion der ersten Menge wenigstens einen zweiten Ergebniswert zuordnet. Bei weiteren bevorzugten Ausführungsformen ist die wenigstens eine zweite Funktion verschieden von der ersten Funktion, sodass sich ihr durch weitere Freiheitsgrade bezüglich der Klassifizierung des Datenpakets ergeben. Bei weiteren bevorzugten Ausführungsformen können beispielsweise die durch die mehreren Funktionen jeweils erhaltenen Ergebniswerte unterschiedlichen Auswertungen, beispielsweise Filterverfahren, zugeführt werden.In further preferred embodiments it is provided that in addition to the first function at least one second function is applied to the first set, the at least one second function assigning at least one second result value to the first set. In further preferred embodiments, the at least one second function is different from the first function, so that it results from further degrees of freedom with regard to the classification of the data packet. In further preferred embodiments For example, the result values obtained by the multiple functions can be fed to different evaluations, for example filter methods.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter folgende Schritte aufweist: Auswählen einer vorgebbaren zweiten Menge von Daten des Datenpakets, Anwenden wenigstens der ersten Funktion und/oder einer bzw. der zweiten Funktion, die der zweiten Menge einen bzw. den zweiten Ergebniswert zuordnet. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die zweite Menge von Daten nicht identisch ist mit der ersten Menge von Daten des Datenpakets. Mit anderen Worten können bei weiteren bevorzugten Ausführungsformen unterschiedliche Anteile bzw. Bereiche der Daten des Datenpakets ausgewählt werden, um die vorgebbare erste Menge bzw. die vorgebbare zweite Menge zu bilden. Hierbei können bei weiteren bevorzugten Ausführungsformen jeweils die vorstehend beschriebenen Varianten der Auswahl von Daten (beispielsweise zusammenhängende Datenbereiche des Datenpakets und/oder nicht zusammenhängende Datenbereiche des Datenpakets, Auswahl von Start Adressen und oder Endadressen auf Bitebene und/oder Byteebene) jeweils beliebig miteinander kombiniert werden.In further preferred embodiments it is provided that the method further comprises the following steps: selecting a predeterminable second set of data of the data packet, applying at least the first function and / or one or the second function that gives the second set one or the second result value assigns. In further preferred embodiments, it is provided that the second set of data is not identical to the first set of data in the data packet. In other words, in further preferred embodiments, different portions or ranges of the data of the data packet can be selected in order to form the predeterminable first set or the predeterminable second set. In the case of further preferred embodiments, the variants of the selection of data described above (for example contiguous data areas of the data packet and / or non-contiguous data areas of the data packet, selection of start addresses and or end addresses at the bit level and / or byte level) can each be combined with one another as desired.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter folgende Schritte aufweist: Ermitteln von die erste Menge charakterisierenden ersten Datenbereichsinformationen und/oder von eine bzw. die zweite Menge charakterisierenden zweiten Datenbereichsinformationen, Auswählen der ersten Menge und/oder der zweiten Menge in Abhängigkeit der ersten und/oder zweiten Datenbereichsinformationen. Bei weiteren bevorzugten Ausführungsformen können die Datenbereichsinformationen beispielsweise wenigstens eine Anfangsadresse und/oder wenigstens eine Endadresse aufweisen. Bei weiteren bevorzugten Ausführungsformen, insbesondere bei solchen, bei denen nicht zusammenhängende Bereiche des Datenpakets zur Bildung einer vorgebbaren ersten Menge und/oder zweiten Menge ausgewählt werden, können die Datenbereichsinformationen auch mehrere 2-Tupel jeweils umfassend eine Anfangsadresse und eine Endadresse aufweisen.In further preferred embodiments it is provided that the method further has the following steps: determining first data area information characterizing the first set and / or second data area information characterizing one or the second set, selecting the first set and / or the second set depending on the first and / or second data area information. In further preferred embodiments, the data area information can have, for example, at least one start address and / or at least one end address. In further preferred embodiments, in particular in those in which non-contiguous areas of the data packet are selected to form a predefinable first set and / or second set, the data area information can also have a plurality of 2-tuples each comprising a start address and an end address.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Ermitteln der ersten und/oder zweiten Datenbereichsinformationen wenigstens einen der folgenden Schritte umfasst: Empfangen der Datenbereichsinformationen von einer anderen Einheit, Ermitteln der Datenbereichsinformationen aus gegebenenfalls lokal gespeicherten bzw. vorliegenden Konfigurationsinformationen einer das Verfahren gemäß den Ausführungsformen ausführenden Vorrichtung, Berechnen der Datenbereichsinformationen aus Konfigurationsdaten und/oder Betriebsdaten der das Verfahren gemäß den Ausführungsformen ausführenden Vorrichtung.In further preferred embodiments, it is provided that the determination of the first and / or second data area information comprises at least one of the following steps: receiving the data area information from another unit, determining the data area information from possibly locally stored or present configuration information of one executing the method according to the embodiments Device, calculating the data area information from configuration data and / or operating data of the device executing the method according to the embodiments.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Funktion und/oder die zweite Funktion eine Hashfunktion (Streuwertfunktion) ist.In further preferred embodiments it is provided that the first function and / or the second function is a hash function (scatter value function).

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung zum Klassifizieren eines Datenpakets, wobei die Vorrichtung zur Ausführung der folgenden Schritte ausgebildet ist: Auswählen einer vorgebbaren ersten Menge von Daten des Datenpakets, Anwenden wenigstens einer ersten Funktion auf die erste Menge, wobei die erste Funktion der ersten Menge einen ersten Ergebniswert zuordnet.Further preferred embodiments relate to a device for classifying a data packet, the device being designed to carry out the following steps: selecting a predeterminable first set of data of the data packet, applying at least one first function to the first set, the first function being the first Quantity assigns a first result value.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist.In further preferred embodiments, it is provided that the device for carrying out the method is designed in accordance with the embodiments.

Bei weiteren bevorzugten Ausführungsform ist vorgesehen, dass die Vorrichtung den ersten Ergebniswert und/oder zweiten Ergebniswert mit wenigstens einem vorgebbaren Referenz-Ergebniswert vergleicht. Sofern der Vergleich ergibt, dass beispielsweise der erste Ergebniswert übereinstimmt mit dem Referenz-Ergebniswert, kann darauf geschlossen werden, dass das betreffende Datenpaket, für welches der erste Ergebniswert ermittelt worden ist, vorgebbaren (Klassifikations-)Kriterien entspricht, die mit dem Referenz-Ergebniswert assoziiert sind. Bei weiteren bevorzugten Ausführungsformen kann die Vorrichtung in diesem Fall beispielsweise das betrachtete Datenpaket einer weiteren Verarbeitung (beispielsweise Weiterleitung an eine andere Einheit, einen Empfänger einer Kommunikationsverbindung und dergleichen) weiterleiten, wohingegen bei Nichtübereinstimmung des betreffenden Ergebniswerts mit dem Referenz-Ergebniswert eine derartige Weiterleitung nicht erfolgt und der betreffende Ergebniswert beispielsweise mit anderen Referenz-Ergebniswerten verglichen wird bzw. gleich verworfen wird.In a further preferred embodiment it is provided that the device compares the first result value and / or the second result value with at least one predeterminable reference result value. If the comparison shows that, for example, the first result value matches the reference result value, it can be concluded that the data packet in question, for which the first result value has been determined, corresponds to predefinable (classification) criteria that correspond to the reference result value are associated. In further preferred embodiments, the device can in this case, for example, forward the data packet under consideration for further processing (for example forwarding to another unit, a receiver of a communication connection and the like), whereas if the relevant result value does not match the reference result value, such forwarding does not take place and the relevant result value is compared, for example, with other reference result values or is immediately discarded.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen zur Verarbeitung von Datenpaketen, insbesondere zur Filterung von Datenpaketen, insbesondere Ethernet-Datenpaketen.Further preferred embodiments relate to the use of the method according to the embodiments and / or the device according to the embodiments for processing data packets, in particular for filtering data packets, in particular Ethernet data packets.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Datenpakete als Ethernet-Datenpakete ausgebildet sind, beispielsweise aufweisend ein Datenrahmenformat nach der Norm IEEE 802.3. Beispielsweise kann ein solcher Ethernet-Datenrahmen in den ersten 6 Bytes eine MAC (Media-Access-Control)-Adresse als Zieladresse aufweisen, gefolgt von weiteren 6 Bytes, die eine MAC-Quelladresse charakterisieren, beispielsweise weiter gefolgt von vier weiteren Bytes, die ein VLAN (virtual local area network)-Tag charakterisieren, und so fort.
Unter Anwendung des Prinzips gemäß den Ausführungsformen kann vorteilhaft die erste Funktion, die beispielsweise für eine Klassifikation des Datenpakets nutzbar ist, auf eine flexibel gewählte vorgebbare erste Menge von Daten eines solchen Ethernet-Datenpakets angewendet werden, wobei die erste Menge von Daten beispielsweise ausgewählt wird als Vereinigungsmenge der MAC-Zieladresse (6 Bytes) und der beiden höherwertigen Bytes des VLAN-TAGs, was einem Beispiel der ersten Menge von Daten als nicht zusammenhängender Datenbereich des Ethernet-Datenpakets entspricht.
In further preferred embodiments it is provided that the data packets are designed as Ethernet data packets, for example having a data frame format according to the IEEE 802.3 standard. For example, such an Ethernet data frame can have a MAC (Media Access Control) address as the destination address in the first 6 bytes, followed by a further 6 bytes which characterize a MAC source address, for example further followed by four further bytes which are a Characterize VLAN (virtual local area network) tag, and so on.
Applying the principle according to the embodiments, the first function, which can be used, for example, for a classification of the data packet, can advantageously be applied to a flexibly selected, predefinable first set of data of such an Ethernet data packet, the first set of data being selected, for example, as Combination set of the MAC destination address (6 bytes) and the two high-order bytes of the VLAN TAG, which corresponds to an example of the first set of data as a non-contiguous data area of the Ethernet data packet.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Steuergerät, insbesondere für ein Kraftfahrzeug, wobei das Steuergerät dazu ausgebildet ist, Datenpakete von wenigstens einer weiteren Einheit zu empfangen, wobei das Steuergerät wenigstens eine Vorrichtung gemäß den Ausführungsformen aufweist und zumindest einen Teil der empfangenen Datenpakete mittels der Vorrichtung verarbeitet, insbesondere filtert.Further preferred embodiments relate to a control device, in particular for a motor vehicle, the control device being designed to receive data packets from at least one further unit, the control device having at least one device according to the embodiments and at least some of the received data packets using the device processed, especially filters.

Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale 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 ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.Further features, possible applications and advantages of the invention result from the following description of exemplary embodiments of the invention, which are shown in the figures of the drawing. All of the described or illustrated features, alone or in any combination, form the subject matter of the invention, regardless of their summary in the patent claims or their relationship, and regardless of their wording or representation in the description or in the drawing.

In der Zeichnung zeigt:

  • 1 ein vereinfachtes Flussdiagramm eines Verfahrens gemäß bevorzugten Ausführungsformen,
  • 2 schematisch ein Datenpaket und Datenmengen gemäß weiteren bevorzugten Ausführungsformen,
  • 3 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren bevorzugten Ausführungsformen,
  • 4 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren bevorzugten Ausführungsformen,
  • 5 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren bevorzugten Ausführungsformen,
  • 6 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren bevorzugten Ausführungsformen, und
  • 7 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren bevorzugten Ausführungsformen,
The drawing shows:
  • 1 1 shows a simplified flow diagram of a method according to preferred embodiments,
  • 2nd schematically a data packet and amounts of data according to further preferred embodiments,
  • 3rd schematically a simplified block diagram according to further preferred embodiments,
  • 4th schematically a simplified block diagram according to further preferred embodiments,
  • 5 schematically a simplified block diagram according to further preferred embodiments,
  • 6 schematically shows a simplified block diagram according to further preferred embodiments, and
  • 7 schematically a simplified block diagram according to further preferred embodiments,

1 zeigt schematisch ein vereinfachtes Flussdiagramm eines Verfahrens zum Klassifizieren eines Datenpakets gemäß bevorzugten Ausführungsformen. Ein beispielhaftes Datenpaket DP gemäß weiteren bevorzugten Ausführungsformen ist in 2 abgebildet. 1 schematically shows a simplified flow diagram of a method for classifying a data packet according to preferred embodiments. An exemplary data packet DP according to further preferred embodiments is in 2nd pictured.

Beispielsweise ist das Datenpaket DP als Ethernet-Datenpaket ausgebildet, z.B. aufweisend ein Datenrahmenformat nach der Norm IEEE 802.3. Bei anderen bevorzugten Ausführungsformen können auch beliebige andere Datenpakete verarbeitet werden, insbesondere von FlexRay- und/oder CAN- und/oder CAN-FD-Systemen sowie weiteren Systemen und/oder Standards.For example, the data packet DP designed as an Ethernet data packet, for example having a data frame format according to the IEEE 802.3 standard. In other preferred embodiments, any other data packets can also be processed, in particular of FlexRay and / or CAN and / or CAN FD systems as well as further systems and / or standards.

Das beispielhaft in 2 abgebildete Datenpaket DP weist in einem ersten Adressbereich A1, der vorliegend den ersten 6 Bytes des Datenpakets DP entspricht, eine MAC (Media-Access-Control)-Adresse als Zieladresse auf, gefolgt von einem zweiten Adressbereich A2 mit weiteren 6 Bytes, die eine MAC-Quelladresse charakterisieren, beispielsweise weiter gefolgt von vier weiteren Bytes, die ein VLAN (virtual local area network)-Tag charakterisieren, vgl. den dritten Adressbereich A3. Alternativ zu dem VLAN-Tag kann das Datenpaket DP bei weiteren bevorzugten Ausführungsformen zumindest in Teilen des dritten Adressbereichs A3 auch ein „EtherType“-Feld (i.d.R. aufweisend zwei Bytes) aufweisen. Weitere Bytes des Datenpakets DP (insbesondere z.B. Nutzdaten (payload)) sind in 2 nicht gesondert bezeichnet, sondern zusammenfassend durch die Punkte „...“ symbolisiert.The example in 2nd data packet shown DP points in a first address range A1 , in the present case the first 6 bytes of the data packet DP corresponds to a MAC (Media Access Control) address as the destination address, followed by a second address range A2 with a further 6 bytes which characterize a MAC source address, for example further followed by four further bytes which characterize a VLAN (virtual local area network) tag, cf. the third address range A3 . As an alternative to the VLAN tag, the data packet can DP in further preferred embodiments at least in parts of the third address range A3 also have an "EtherType" field (usually two bytes). Additional bytes of the data packet DP (in particular for example user data (payload)) are in 2nd not labeled separately, but symbolized in summary by the points "...".

Das Verfahren gemäß 1 weist die folgenden Schritte auf: Auswählen 100 einer vorgebbaren ersten Menge M1 (2) von Daten des Datenpakets DP, wobei die vorgebbare erste Menge M1 vorliegend beispielhaft den ersten acht Bytes des Datenpakets DP entspricht, also den ersten Adressbereich A1 vollständig umfasst, und von dem zweiten Adressbereich A2 zwei Bytes umfasst. Sodann sieht das Verfahren gemäß 1 ein Anwenden wenigstens einer ersten Funktion, insbesondere einer Hashfunktion, auf die erste Menge M1 vor, wobei die erste Funktion der ersten Menge M1 einen ersten Ergebniswert zuordnet. Durch das Auswählen gemäß Schritt 100 kann die erste Menge M1 von Daten, auf welche die erste Funktion angewendet werden soll, besonders flexibel vorgegeben werden, sodass unter Anwendung des Prinzips gemäß den Ausführungsformen eine besonders flexible Verarbeitung, insbesondere Hashwertbildung und/oder Filterung oder dergleichen, von Datenpaketen DP möglich ist.The procedure according to 1 does the following: Select 100 a predeterminable first set M1 ( 2nd ) of data of the data packet DP , the predeterminable first set M1 in the present example the first eight bytes of the data packet DP corresponds to the first address range A1 completely includes, and from the second address range A2 comprises two bytes. Then the procedure looks like 1 applying at least a first function, in particular a hash function, to the first set M1 before, the first function of the first set M1 assigns a first result value. By selecting according to step 100 can the first set M1 of data on which the first function is to be used can be specified in a particularly flexible manner, so that, using the principle according to the embodiments, particularly flexible processing, in particular hash value formation and / or filtering or the like, of data packets DP is possible.

3 zeigt schematisch ein vereinfachtes Blockdiagramm gemäß weiteren bevorzugten Ausführungsformen. Die gemäß dem vorstehend unter Bezugnahme auf 1 beschriebenen Verfahren ausgewählte vorgebbare erste Menge M1 wird der ersten Funktion F1 zugeführt, die in Abhängigkeit der ersten Menge M1 den ersten Ergebniswert E1 ermittelt. Die Auswertung der ersten Funktion F1 kann bei weiteren bevorzugten Ausführungsformen eine Hashwertbildung in Abhängigkeit der ersten Menge M1 umfassen. 3rd shows schematically a simplified block diagram according to further preferred embodiments. The according to the above with reference to 1 described method selected predetermined first set M1 becomes the first function F1 supplied depending on the first amount M1 the first result value E1 determined. The evaluation of the first function F1 In further preferred embodiments, a hash value can be formed as a function of the first set M1 include.

Optional kann gemäß weiteren bevorzugten Ausführungsformen auch wenigstens eine zweite Funktion F2 auf die erste Menge M1 angewendet werden, was auf einen zweiten Ergebniswert E2 führt.Optionally, according to further preferred embodiments, at least one second function can also be used F2 on the first lot M1 be applied to a second result value E2 leads.

Bei weiteren bevorzugten Ausführungsform, vergleiche 1, ist nach dem Schritt 102 ein weiterer, optionaler Schritt 104 vorgesehen, der eine weitere Verarbeitung des Datenpakets DP, insbesondere in Abhängigkeit des ersten Ergebniswerts E1 (2) vorsieht. Beispielsweise kann der Schritt 104 einen Vergleich des ersten Ergebniswerts E1 mit wenigstens einem vorgebbaren Referenz-Ergebniswert vorsehen. Sofern der Vergleich 104 ergibt, dass der erste Ergebniswert E1 übereinstimmt mit dem Referenz-Ergebniswert, kann darauf geschlossen werden, dass das betreffende Datenpaket DP, für welches der erste Ergebniswert E1 ermittelt worden ist, vorgebbaren (Klassifikations-)Kriterien entspricht, die mit dem Referenz-Ergebniswert assoziiert sind. Bei weiteren bevorzugten Ausführungsformen kann in diesem Fall beispielsweise das betrachtete Datenpaket DP einer weiteren Verarbeitung (beispielsweise Weiterleitung an eine andere Einheit, einen Empfänger einer Kommunikationsverbindung und dergleichen) unterzogen werden, wohingegen bei Nichtübereinstimmung des betreffenden Ergebniswerts E1 mit dem Referenz-Ergebniswert eine derartige Weiterleitung z.B. nicht erfolgt und der betreffende Ergebniswert E1 beispielsweise mit anderen Referenz-Ergebniswerten verglichen wird bzw. gleich verworfen wird.In another preferred embodiment, compare 1 , is after the step 102 another optional step 104 provided for further processing of the data packet DP , especially depending on the first result value E1 ( 2nd ) provides. For example, the step 104 a comparison of the first result value E1 provide with at least one predeterminable reference result value. Provided the comparison 104 results in the first result value E1 matches the reference result value, it can be concluded that the data packet in question DP , for which the first result value E1 has been determined, corresponds to predeterminable (classification) criteria that are associated with the reference result value. In further preferred embodiments, the data packet under consideration can, for example, in this case DP undergo further processing (for example forwarding to another unit, a receiver of a communication link and the like), whereas if the relevant result value does not match E1 such a forwarding did not take place with the reference result value, for example, and the relevant result value E1 for example, is compared with other reference result values or is immediately discarded.

Bei weiteren bevorzugten Ausführungsformen kann insbesondere die vorgebbare erste Menge M1 von Daten des Datenpakets DP dynamisch ausgewählt werden, also während der Laufzeit einer das Verfahren gemäß den Ausführungsformen ausführenden Vorrichtung 200, die beispielhaft in dem vereinfachten Blockdiagramm gemäß 5 abgebildet ist. Dadurch ist es bei weiteren bevorzugten Ausführungsformen beispielsweise möglich, von unterschiedlichen Datenpaketen DP jeweils unterschiedliche erste Mengen M1 (2) von Daten auszuwählen, auf die die jeweilige erste Funktion F1 (3) angewendet werden soll.In the case of further preferred embodiments, in particular the predeterminable first quantity M1 of data of the data packet DP can be selected dynamically, that is to say during the runtime of a device that executes the method according to the embodiments 200 , which are exemplary in the simplified block diagram according to 5 is shown. In other preferred embodiments, this makes it possible, for example, to use different data packets DP different first quantities M1 ( 2nd ) of data to which the respective first function F1 ( 3rd ) should be applied.

Bei der Darstellung gemäß 5 empfängt die Vorrichtung 200 ein oder mehrere Datenpakete DP von einer weiteren Einheit 250, beispielsweise über ein Kommunikationsnetzwerk bzw. ein Bussystem, und verarbeitet diese gemäß dem Prinzip der Ausführungsformen, beispielsweise nach 1.In the presentation according to 5 receives the device 200 one or more data packets DP from another unit 250 , for example via a communication network or a bus system, and processes them according to the principle of the embodiments, for example according to 1 .

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen, vgl. Schritt 100 aus 1, wenigstens eines der folgenden Elemente aufweist: a) Auswählen einer vorgebbaren Anzahl von Bits des Datenpakets DP. Mit anderen Worten kann bei weiteren bevorzugten Ausführungsformen die vorgebbare erste Menge M1 (2) auf Bitebene ausgewählt werden, wodurch eine besonders präzise und feingranulare Auswahl von Daten ermöglicht ist, auf denen die erste Funktion angewendet werden soll. Bei diesen Ausführungsformen kann weiter vorteilhaft insbesondere auch eine solche erste Menge M1 von Daten ausgewählt werden, welche in einem entsprechenden Adressbereich des Datenpakets beispielsweise hinsichtlich ihrer Anfangsadresse und/oder Endadresse nicht mit einer Byte-Grenze zusammenfällt. Beispielsweise kann somit bei weiteren bevorzugten Ausführungsformen ein Datenbereich eines zu verarbeitenden Datenpakets ausgewählt werden, der sich von dem ersten Bit des Datenpakets bis zu dem zwölften Bit des Datenpakets erstreckt.In further preferred embodiments it is provided that the selection, cf. step 100 out 1 , has at least one of the following elements: a) selecting a predeterminable number of bits of the data packet DP . In other words, the predeterminable first set can be used in further preferred embodiments M1 ( 2nd ) are selected at the bit level, which enables a particularly precise and fine-grained selection of data on which the first function is to be applied. In these embodiments, such a first set can also be particularly advantageous M1 of data are selected which do not coincide with a byte boundary in a corresponding address area of the data packet, for example with regard to their start address and / or end address. For example, in further preferred embodiments, a data area of a data packet to be processed can thus be selected, which extends from the first bit of the data packet to the twelfth bit of the data packet.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen 100 (1) ein Auswählen einer vorgebbaren Anzahl von Bytes des Datenpakets DP aufweist, mithin eine Selektion der vorgebbaren ersten Menge M1 von Daten auf Byte-Ebene.In further preferred embodiments it is provided that the selection 100 ( 1 ) a selection of a predeterminable number of bytes of the data packet DP has, therefore a selection of the predetermined first set M1 of data at the byte level.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen 100 (1) das Auswählen von aufeinanderfolgenden Bits und/oder Bytes des Datenpakets DP umfasst. Mit anderen Worten ergibt sich bei diesen Ausführungsformen die vorgebbare erste Menge M1 von Daten als ein zusammenhängender Datenbereich des Datenpakets, beispielsweise charakterisiert durch eine Anfangsadresse (repräsentiert beispielsweise durch ein Bit und/oder ein Byte) und eine Endadresse (repräsentiert beispielsweise durch ein Bit und/oder ein Byte) innerhalb des Adressraums des Datenpakets.In further preferred embodiments it is provided that the selection 100 ( 1 ) the selection of successive bits and / or bytes of the data packet DP includes. In other words, the predeterminable first set results in these embodiments M1 of data as a coherent data area of the data packet, for example characterized by a start address (represented for example by a bit and / or a byte) and an end address (represented for example by a bit and / or a byte) within the address space of the data packet.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass eine Anfangsadresse und/oder eine Endadresse eines Datenbereichs des Datenpakets DP, der als vorgebbare erste Menge M1 ausgewählt werden soll, frei wählbar ist, insbesondere frei wählbar aus dem gesamten Datenpaket DP. Insbesondere ist bei weiteren bevorzugten Ausführungsformen die Länge des Datenbereichs ebenfalls beliebig wählbar, insbesondere nicht begrenzt auf Werte kleiner der Gesamtlänge des Datenpakets. Dadurch kann ein entsprechender Datenbereich des Datenpakets DP, der der Auswertung durch die erste Funktion F1 zugeführt werden soll, flexibel gewählt werden, was eine flexible Klassifizierung entsprechender Datenbereiche des Datenpakets DP ermöglicht.In further preferred embodiments it is provided that a start address and / or an end address of a data area of the data packet DP that as a predeterminable first set M1 is to be selected, is freely selectable, in particular freely selectable from the entire data packet DP . In particular, in further preferred embodiments the length of the data area can also be selected as desired, in particular not limited to values smaller than the total length of the data packet. This allows a corresponding data area of the data packet DP , the evaluation by the first function F1 should be flexibly selected, which is a flexible classification of corresponding data areas of the data packet DP enables.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Auswählen, vergleiche Schritt 100 aus 1, das Auswählen von wenigstens zwei nicht aufeinanderfolgenden Bits und/oder von wenigstens zwei nicht aufeinanderfolgenden Bytes des Datenpakets DP umfasst. Dadurch sind weitere vorteilhafte Freiheitsgrade bezüglich der Zusammenstellung der vorgebbaren ersten Menge M1 bzw. zweiten Menge M2 von Daten des Datenpakets DP gegeben, auf die die erste Funktion F1 und/oder zweite Funktion F2 (3) angewendet werden soll. Beispielsweise können bei weiteren bevorzugten Ausführungsformen die ersten 4 Bytes eines betrachteten Datenpakets DP ( 2), vergleiche die erste Teilmenge M2a, sowie das zwölfte und dreizehnte Byte des betrachteten Datenpakets DP, vergleiche die zweite Teilmenge M2b, als vorgebbare zweite Menge M2 ausgewählt werden. Bei weiteren bevorzugten Ausführungsformen werden die ausgewählten, nicht aufeinanderfolgenden Bits und/oder Bytes, welche die vorgebbare zweite Menge M2 bilden, im Sinne einer Konkatenation hintereinander gehängt, vergleiche die schematische Darstellung M2 in 2. Bei dem vorstehend genannten Beispiel besteht die vorgebbare zweite Menge M2 somit aus insgesamt 6 Bytes Daten, wobei die ersten 4 Bytes dieser Daten den ersten 4 Bytes des betrachteten Datenpakets DP entsprechen, und das fünfte und sechste Byte dieser Daten M2 entspricht dem zwölften und dreizehnten Byte des betrachteten Datenpakets DP. Auf diese Weise sind vorteilhaft nicht zusammenhängende Datenbereiche des Datenpakets DP für eine weitere Verarbeitung, beispielsweise Klassifikation bzw. Filterung, verwendbar. Analog zu den vorstehend bereits unter Bezugnahme auf 1 bis 3 beschriebenen Ausführungsformen kann auch die zweite Menge M2, welche dem vorstehend beschriebenen Beispiel entsprechend nicht zusammenhängende Datenbereiche des Datenpakets DP enthält, einer Auswertung mittels der ersten Funktion F1 (3) und/oder mittels der zweiten Funktion F2 oder dergleichen zugeführt werden.In further preferred embodiments it is provided that the selection, compare step 100 out 1 , the selection of at least two non-consecutive bits and / or at least two non-consecutive bytes of the data packet DP includes. As a result, there are further advantageous degrees of freedom with regard to the compilation of the predefinable first set M1 or second quantity M2 of data of the data packet DP given to which the first function F1 and / or second function F2 ( 3rd ) should be applied. For example, in further preferred embodiments, the first 4 bytes of a data packet under consideration DP ( 2nd ), compare the first subset M2a , as well as the twelfth and thirteenth bytes of the data packet under consideration DP , compare the second subset M2b , as a predeterminable second set M2 to be chosen. In further preferred embodiments, the selected, non-consecutive bits and / or bytes, which are the predeterminable second set M2 form one behind the other in the sense of a concatenation, compare the schematic representation M2 in 2nd . In the example given above, the predeterminable second set exists M2 thus from a total of 6 bytes of data, the first 4 bytes of this data being the first 4 bytes of the data packet under consideration DP correspond, and the fifth and sixth bytes of this data M2 corresponds to the twelfth and thirteenth bytes of the data packet under consideration DP . In this way, non-contiguous data areas of the data packet are advantageous DP can be used for further processing, for example classification or filtering. Analogous to those already mentioned above with reference to 1 to 3rd The embodiments described can also use the second set M2 which, according to the example described above, has non-contiguous data areas of the data packet DP contains, an evaluation using the first function F1 ( 3rd ) and / or by means of the second function F2 or the like.

Bei weiteren bevorzugten Ausführungsformen ist, wie vorstehend bereits angedeutet, vorgesehen, dass zusätzlich zu der ersten Funktion F1 (3) wenigstens eine zweite Funktion F2 auf die erste Menge M1 angewendet wird, wobei die wenigstens eine zweite Funktion F2 der ersten Menge M1 wenigstens einen zweiten Ergebniswert E2 zuordnet. Bei weiteren bevorzugten Ausführungsformen ist die wenigstens eine zweite Funktion F2 verschieden von der ersten Funktion F1, sodass sich ihr durch weitere Freiheitsgrade bezüglich der Klassifizierung des Datenpakets DP ergeben. Bei weiteren bevorzugten Ausführungsformen können beispielsweise die durch die mehreren Funktionen F1, F2 jeweils erhaltenen Ergebniswerte unterschiedlichen Auswertungen, beispielsweise Filterverfahren, zugeführt werden.In further preferred embodiments, as already indicated above, it is provided that in addition to the first function F1 ( 3rd ) at least one second function F2 on the first lot M1 is applied, the at least one second function F2 the first set M1 at least a second result value E2 assigns. In further preferred embodiments, the at least one second function is F2 different from the first function F1 , so that you have further degrees of freedom with regard to the classification of the data packet DP surrender. In further preferred embodiments, for example, the multiple functions F1 , F2 result values obtained in each case can be fed to different evaluations, for example filter methods.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter folgende Schritte aufweist: Auswählen 100 (1) einer vorgebbaren zweiten Menge M2 von Daten des Datenpakets DP, Anwenden wenigstens der ersten Funktion F1 und/oder einer bzw. der zweiten Funktion F2, die der zweiten Menge M2 einen bzw. den zweiten Ergebniswert E2 zuordnet, vergleiche die schematische Darstellung gemäß 4.In further preferred embodiments it is provided that the method further has the following steps: selection 100 ( 1 ) a predeterminable second set M2 of data of the data packet DP , Apply at least the first function F1 and / or one or the second function F2 that of the second set M2 one or the second result value E2 assigned, compare the schematic representation according to 4th .

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die zweite Menge M2 von Daten nicht identisch ist mit der ersten Menge M1 von Daten des Datenpakets DP. Mit anderen Worten können bei weiteren bevorzugten Ausführungsformen unterschiedliche Anteile bzw. Bereiche der Daten des Datenpakets DP ausgewählt werden, um die vorgebbare erste Menge M1 bzw. die vorgebbare zweite Menge M2 zu bilden. Hierbei können bei weiteren bevorzugten Ausführungsformen jeweils die vorstehend beschriebenen Varianten der Auswahl von Daten (beispielsweise zusammenhängende Datenbereiche des Datenpakets DP und/oder nicht zusammenhängende Datenbereiche des Datenpakets DP, Auswahl von Startadressen und oder Endadressen auf Bitebene und/oder Byteebene, Beispiel: „Byte 0 bis Byte 5“, entsprechend den ersten sechs Bytes des Datenpakets, also z.B. dem ersten Adressbereich A1) jeweils beliebig miteinander kombiniert werden.In further preferred embodiments it is provided that the second set M2 of data is not identical to the first set M1 of data of the data packet DP . In other words, in further preferred embodiments, different portions or areas of the data of the data packet can DP be selected to the predeterminable first set M1 or the predeterminable second set M2 to build. In the case of further preferred embodiments, the variants of the selection of data described above (for example contiguous data areas of the data packet) can be used DP and / or non-contiguous data areas of the data packet DP , Selection of start addresses and or end addresses at the bit level and / or byte level, example: "Bytes 0 to Byte 5", corresponding to the first six bytes of the data packet, for example the first address range A1 ) can be combined with each other as required.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter folgende Schritte aufweist: Ermitteln von die erste Menge M1 charakterisierenden ersten Datenbereichsinformationen und/oder von eine bzw. die zweite Menge M2 charakterisierenden zweiten Datenbereichsinformationen. Das Ermitteln der Datenbereichsinformationen kann bei weiteren bevorzugten Ausführungsformen beispielsweise in einem optionalen Schritt (nicht gezeigt) ausgeführt werden, der dem Schritt 100 (1) des Auswählens vorangeht. Sodann kann wie bereits vorstehend beschrieben ein Auswählen, vergleiche Schritt 100, der ersten Menge M1 und/oder der zweiten Menge M2 in Abhängigkeit der ersten und/oder zweiten Datenbereichsinformationen erfolgen.In further preferred embodiments it is provided that the method further comprises the following steps: determining the first quantity M1 characterizing first data area information and / or one or the second set M2 characterizing second data area information. In further preferred embodiments, the determination of the data area information can be carried out, for example, in an optional step (not shown), the step 100 ( 1 ) precedes the selection. Then, as already described above, a selection, compare step 100 , the first crowd M1 and / or the second set M2 depending on the first and / or second data area information.

Bei weiteren bevorzugten Ausführungsformen können die Datenbereichsinformationen beispielsweise wenigstens eine Anfangsadresse und/oder wenigstens eine Endadresse aufweisen. Bei weiteren bevorzugten Ausführungsformen, insbesondere bei solchen, bei denen nicht zusammenhängende Bereiche des Datenpakets DP zur Bildung einer vorgebbaren ersten Menge M1 und/oder zweiten Menge M2 ausgewählt werden, können die Datenbereichsinformationen auch mehrere 2-Tupel jeweils umfassend eine Anfangsadresse und eine Endadresse eines Adressbereichs des Datenpakets DP aufweisen. In further preferred embodiments, the data area information can have, for example, at least one start address and / or at least one end address. In further preferred embodiments, in particular in those in which non-contiguous areas of the data packet DP to form a predeterminable first set M1 and / or second amount M2 can be selected, the data area information can also be a plurality of 2-tuples each comprising a start address and an end address of an address area of the data packet DP exhibit.

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Ermitteln der ersten und/oder zweiten Datenbereichsinformationen wenigstens einen der folgenden Schritte umfasst: Empfangen der Datenbereichsinformationen von einer anderen Einheit, beispielsweise der weiteren Einheit 250 gemäß 5, Ermitteln der Datenbereichsinformationen aus gegebenenfalls lokal gespeicherten bzw. vorliegenden Konfigurationsinformationen einer das Verfahren gemäß den Ausführungsformen ausführenden Vorrichtung 200, Berechnen der Datenbereichsinformationen aus Konfigurationsdaten und/oder Betriebsdaten der das Verfahren gemäß den Ausführungsformen ausführenden Vorrichtung 200.In further preferred embodiments it is provided that the determination of the first and / or second data area information comprises at least one of the following steps: receiving the data area information from another unit, for example the further unit 250 according to 5 , Determining the data area information from possibly locally stored or present configuration information of a device executing the method according to the embodiments 200 , Calculating the data area information from configuration data and / or operating data of the device executing the method according to the embodiments 200 .

Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Funktion F1 und/oder die zweite Funktion F2 eine Hashfunktion (Streuwertfunktion) ist. Bei weiteren bevorzugten Ausführungsformen kann das Bilden Beziehungsweise auswerten der hashfunktion beispielsweise die Bildung einer Checksumme, beispielsweise vom Typ CRC (cyclic redundancy check) 32 umfassen.In further preferred embodiments it is provided that the first function F1 and / or the second function F2 is a hash function (scatter value function). In further preferred embodiments, the formation or evaluation of the hash function can, for example, form a checksum, for example of the CRC (cyclic redundancy check) type. 32 include.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung 200 (5) zum Klassifizieren eines Datenpakets DP (2), wobei die Vorrichtung 200 zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist. Die Vorrichtung 200 gemäß den Ausführungsformen kann beispielsweise bei Kommunikations-Controllern (z.B. Ethernet-MACs) zum Verarbeiten, insbesondere Auswerten und/oder Filtern, von Datenpaketen DP verwendet werden. Beispielsweise kann die Vorrichtung 200 unter Anwendung des Prinzips gemäß den Ausführungsformen eine Vielzahl von eingehenden Datenpaketen DP effizient klassifizieren, z.B. verschiedenen Empfängern (nicht gezeigt) zuordnen, und die jeweiligen Datenpakete ggf. an diese weiterleiten.Further preferred embodiments relate to a device 200 ( 5 ) for classifying a data packet DP ( 2nd ), the device 200 is designed to carry out the method according to the embodiments. The device 200 According to the embodiments, for example in the case of communication controllers (for example Ethernet MACs) for processing, in particular evaluating and / or filtering, data packets DP be used. For example, the device 200 using the principle according to the embodiments, a plurality of incoming data packets DP classify efficiently, eg assign to different recipients (not shown), and if necessary forward the respective data packets to them.

Besonders vorteilhaft können unter Anwendung des Prinzips gemäß den Ausführungsformen ein oder mehrere Datenpakete DP effizient und flexibel klassifiziert werden, wobei insbesondere beliebige zusammenhängende Datenbereiche und/oder nicht zusammenhängende Datenbereiche des Datenpakets auswertbar bzw. klassifizierbar sind. Besonders vorteilhaft kann auch eine Länge des zu klassifizierende Bereichs, beispielsweise unter Angabe einer vorgebbaren Anzahl von Bits und/oder Bytes des Datenpakets DP, frei ausgewählt werden, und bei weiteren bevorzugten Ausführungsformen insbesondere auch dynamisch, also zur Laufzeit der Vorrichtung 200, eingestellt beziehungsweise geändert werden.One or more data packets can be particularly advantageous using the principle according to the embodiments DP be classified efficiently and flexibly, in particular any contiguous data areas and / or non-contiguous data areas of the data packet can be evaluated or classified. A length of the area to be classified can also be particularly advantageous, for example by specifying a predeterminable number of bits and / or bytes of the data packet DP , can be freely selected, and in other preferred embodiments in particular also dynamically, that is to say during the runtime of the device 200 , set or changed.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung 200 gemäß den Ausführungsformen zur Verarbeitung von Datenpaketen DP, insbesondere zur Filterung von Datenpaketen, insbesondere Ethernet-Datenpaketen.Further preferred embodiments relate to the use of the method according to the embodiments and / or the device 200 according to the embodiments for processing data packets DP , in particular for filtering data packets, in particular Ethernet data packets.

Unter Anwendung des Prinzips gemäß den Ausführungsformen kann vorteilhaft die erste Funktion F1, die beispielsweise für eine Klassifikation des Datenpakets DP nutzbar ist, auf eine flexibel gewählte vorgebbare erste Menge M1 von Daten des Datenpakets DP angewendet werden.Using the principle according to the embodiments, the first function can be advantageous F1 , for example, for a classification of the data packet DP is usable on a flexibly selected, predeterminable first quantity M1 of data of the data packet DP be applied.

6 zeigt schematisch ein vereinfachtes Blockdiagramm einer Vorrichtung 200a gemäß weiteren bevorzugten Ausführungsformen. Beispielsweise kann die Vorrichtung 200 aus 5 die Konfiguration 200a gemäß 6 aufweisen. Die Vorrichtung 200a weist wenigstens eine Recheneinrichtung 202 auf, und wenigstens eine der Recheneinrichtung 202 zugeordnete Speichereinrichtung 204 zur zumindest zeitweisen Speicherung eines Computerprogramms PRG, wobei das Computerprogramm PRG insbesondere zur Steuerung eines Betriebs der Vorrichtung 200a, insbesondere zur Ausführung des Verfahrens gemäß den Ausführungsformen, ausgebildet ist. 6 shows schematically a simplified block diagram of a device 200a according to further preferred embodiments. For example, the device 200 out 5 the configuration 200a according to 6 exhibit. The device 200a has at least one computing device 202 on, and at least one of the computing device 202 associated storage device 204 for at least temporarily storing a computer program PRG, the computer program PRG in particular for controlling an operation of the device 200a , in particular for executing the method according to the embodiments.

Bei weiteren bevorzugten Ausführungsformen weist die Recheneinrichtung 202 wenigstens eines der folgenden Elemente auf: einen Mikroprozessor, einen Mikrocontroller, einen digitalen Signalprozessor (DSP), einen programmierbaren Logikbaustein (z.B. FPGA, field programmable gate array), einen ASIC (anwendungsspezifischen integrierten Schaltkreis), eine Hardwareschaltung. In further preferred embodiments, the computing device has 202 at least one of the following elements: a microprocessor, a microcontroller, a digital signal processor (DSP), a programmable logic module (eg FPGA, field programmable gate array), an ASIC (application-specific integrated circuit), a hardware circuit.

Kombinationen hieraus sind bei weiteren bevorzugten Ausführungsformen auch denkbar.Combinations of these are also conceivable in further preferred embodiments.

Bei weiteren bevorzugten Ausführungsformen weist die Speichereinrichtung 204 wenigstens eines der folgenden Elemente auf: einen flüchtigen Speicher 204a, insbesondere Arbeitsspeicher (RAM), einen nichtflüchtigen Speicher 204b, insbesondere Flash-EEPROM. Bevorzugt ist das Computerprogramm PRG in dem nichtflüchtigen Speicher 204b abgelegt.In further preferred embodiments, the storage device has 204 at least one of the following: volatile memory 204a , in particular working memory (RAM), a non-volatile memory 204b , especially flash EEPROM. The computer program PRG is preferably in the non-volatile memory 204b filed.

Optional weist die Vorrichtung 200a eine Schnittstelleneinrichtung 206 auf, über die beispielsweise die Datenpakete DP (5) empfangbar sind und/oder weitere Informationen, Beispielweise die vorstehend beschriebenen Datenberei chsi nformationen.Optionally, the device 200a an interface device 206 on, for example, the data packets DP ( 5 ) are receivable and / or further information, for example the data area information described above.

Weitere bevorzugte Ausführungsformen beziehen sich auf ein Steuergerät 300, vgl. 7, insbesondere für ein Kraftfahrzeug, wobei das Steuergerät 300 dazu ausgebildet ist, Datenpakete DP von wenigstens einer weiteren Einheit 250 (beispielsweise anderes Steuergerät) zu empfangen, wobei das Steuergerät 300 wenigstens eine Vorrichtung 200, 200' gemäß den Ausführungsformen aufweist und zumindest einen Teil der empfangenen Datenpakete DP mittels der Vorrichtung 200, 200' verarbeitet, insbesondere filtert.Further preferred embodiments relate to a control device 300 , see. 7 , in particular for a motor vehicle, the control unit 300 is designed to handle data packets DP from at least one other unit 250 (for example, another control device), the control device 300 at least one device 200 , 200 ' according to the embodiments, and at least a part of the received data packets DP by means of the device 200 , 200 ' processed, especially filters.

Das Prinzip gemäß den Ausführungsformen ermöglicht vorteilhaft eine effiziente Verarbeitung, insbesondere Auswertung, von Datenpaketen bzw. flexibel vorgebbaren Datenbereichen von Datenpaketen, wodurch beispielsweise die flexible Anwendung von Hashfunktionen auf beliebig wählbaren Datenbereichen der Datenpakete ermöglicht ist. Bei weiteren bevorzugten Ausführungsformen können auch mehrere Funktionen F1, F2, insbesondere Hashfunktionen, auf die vorgebbare erste Menge M1 und/oder wenigstens eine vorgebbare zweite Menge M2 von Daten eines betreffenden Datenpakets DP angewandt werden („mehrere Classifier über verschiedene Bytepositionen“). Bei weiteren bevorzugten Ausführungsformen können die gemäß den Ausführungsformen erhaltenen Ergebniswerte E1, E2 auch, insbesondere parallel, zur Auswertung mehrerer Filteralgorithmen verwendet werden, die bei weiteren bevorzugten Ausführungsformen beispielsweise auch auf jeweils unterschiedliche Datenbereiche bzw. Mengen von Daten M1, M2 anwendbar sind. Weiter lassen sich unter Anwendung des Prinzips gemäß den Ausführungsformen effizient mehrere Hashwerte (Ergebniswerte E1, E2) in Abhängigkeit von unterschiedlichen Datenbereichen (Mengen M1, M2) eines Datenpakets DP ermitteln.The principle according to the embodiments advantageously enables efficient processing, in particular evaluation, of data packets or flexibly predeterminable data areas of data packets, as a result of which, for example, the flexible use of hash functions is possible on any selectable data areas of the data packets. In further preferred embodiments, several functions can also be used F1 , F2 , in particular hash functions, to the predefinable first set M1 and / or at least a predeterminable second quantity M2 of data of a relevant data packet DP are used ("several classifiers over different byte positions"). In further preferred embodiments, the result values obtained according to the embodiments can E1 , E2 also, in particular in parallel, can be used for evaluating a plurality of filter algorithms which, in further preferred embodiments, also apply to different data areas or amounts of data, for example M1 , M2 are applicable. Furthermore, using the principle according to the embodiments, several hash values (result values) can be efficiently generated E1 , E2 ) depending on different data areas (quantities M1 , M2 ) of a data packet DP determine.

Bei weiteren bevorzugten Ausführungsformen sind die vorstehend beschriebenen Mengen M1, M2 von Daten beispielsweise konfigurierbar, zum Beispiel indem der Vorrichtung 200 (5) Konfigurationsdaten bereitgestellt werden, die die Datenbereiche bzw. Mengen M1, M2 charakterisieren. Besonders effizient können auch flexibel Datenbereiche eines Datenpakets DP verarbeitet werden, welche mehr als Beispielsweise sechs oder acht Bytes erfassen.In further preferred embodiments, the amounts described above are M1 , M2 of data, for example, configurable, for example by using the device 200 ( 5 ) Configuration data are provided that cover the data areas or quantities M1 , M2 characterize. Data areas of a data packet can also be used particularly efficiently DP are processed, which capture more than six or eight bytes, for example.

Claims (12)

Verfahren zum Klassifizieren eines Datenpakets (DP), aufweisend die folgenden Schritte: Auswählen (100) einer vorgebbaren ersten Menge (M1) von Daten des Datenpakets (DP), Anwenden (102) wenigstens einer ersten Funktion (F1) auf die erste Menge (M1), wobei die erste Funktion (F1) der ersten Menge (M1) einen ersten Ergebniswert (E1) zuordnet.Method for classifying a data packet (DP), comprising the following steps: selecting (100) a predefinable first set (M1) of data of the data packet (DP), applying (102) at least one first function (F1) to the first set (M1 ), the first function (F1) assigning a first result value (E1) to the first set (M1). Verfahren nach Anspruch 1, wobei das Auswählen (100) wenigstens eines der folgenden Elemente aufweist: a) Auswählen einer vorgebbaren Anzahl von Bits des Datenpakets (DP), b) Auswählen einer vorgebbaren Anzahl von Bytes des Datenpakets (DP).Procedure according to Claim 1 , wherein the selection (100) comprises at least one of the following elements: a) selection of a predeterminable number of bits of the data packet (DP), b) selection of a predefinable number of bytes of the data packet (DP). Verfahren nach Anspruch 2, wobei das Auswählen (100) das Auswählen (100) von aufeinanderfolgenden Bits und/oder Bytes des Datenpakets (DP) umfasst.Procedure according to Claim 2 wherein the selecting (100) comprises selecting (100) successive bits and / or bytes of the data packet (DP). Verfahren nach Anspruch 2 oder 3, wobei das Auswählen (100) das Auswählen (100) von wenigstens zwei nicht aufeinanderfolgenden Bits und/oder von wenigstens zwei nicht aufeinanderfolgenden Bytes des Datenpakets (DP) umfasst.Procedure according to Claim 2 or 3rd , wherein the selection (100) comprises the selection (100) of at least two non-consecutive bits and / or of at least two non-consecutive bytes of the data packet (DP). Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei zusätzlich zu der ersten Funktion (F1) wenigstens eine zweite Funktion (F2) auf die erste Menge (M1) angewendet wird, wobei die wenigstens eine zweite Funktion (F2) der ersten Menge (M1) wenigstens einen zweiten Ergebniswert (E2) zuordnet.Method according to at least one of the preceding claims, wherein in addition to the first function (F1) at least one second function (F2) is applied to the first set (M1), the at least one second function (F2) of the first set (M1) at least assigns a second result value (E2). Verfahren nach wenigstens einem der vorstehenden Ansprüche, weiter aufweisend: Auswählen (100) einer vorgebbaren zweiten Menge (M2) von Daten des Datenpakets (DP), Anwenden (102) wenigstens der ersten Funktion (F1) und/oder einer bzw. der zweiten Funktion (F2), die der zweiten Menge (M2) einen bzw. den zweiten Ergebniswert (E2) zuordnet.Method according to at least one of the preceding claims, further comprising: selecting (100) a predeterminable second quantity (M2) of data of the data packet (DP), applying (102) at least the first function (F1) and / or one or the second function (F2) which assigns the second set (M2) one or the second result value (E2). Verfahren nach wenigstens einem der vorstehenden Ansprüche, weiter aufweisend: Ermitteln von die erste Menge (M1) charakterisierenden ersten Datenbereichsinformationen und/oder von eine bzw. die zweite Menge (M2) charakterisierenden zweiten Datenbereichsinformationen, Auswählen (100) der ersten Menge (M1) und/oder der zweiten Menge (M2) in Abhängigkeit der ersten und/oder zweiten Datenbereichsinformationen.Method according to at least one of the preceding claims, further comprising: determining first data area information characterizing the first set (M1) and / or second data area information characterizing one or the second set (M2), selecting (100) the first set (M1) and / or the second set (M2) as a function of the first and / or second data area information. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei die erste Funktion (F1) und/oder die zweite Funktion (F2) eine Hashfunktion ist.Method according to at least one of the preceding claims, wherein the first function (F1) and / or the second function (F2) is a hash function. Vorrichtung (200; 200') zum Klassifizieren eines Datenpakets (DP), wobei die Vorrichtung (200; 200') zur Ausführung der folgenden Schritte ausgebildet ist: Auswählen (100) einer vorgebbaren ersten Menge (M1) von Daten des Datenpakets (DP), Anwenden (102) wenigstens einer ersten Funktion (F1) auf die erste Menge (M1), wobei die erste Funktion (F1) der ersten Menge (M1) einen ersten Ergebniswert (E1) zuordnet. Device (200; 200 ') for classifying a data packet (DP), the device (200; 200') being designed to carry out the following steps: selecting (100) a predeterminable first set (M1) of data of the data packet (DP) , Applying (102) at least one first function (F1) to the first set (M1), the first function (F1) assigning a first result value (E1) to the first set (M1). Vorrichtung (200; 200') nach Anspruch 9, wobei die Vorrichtung (200) zur Ausführung des Verfahrens nach wenigstens einem der Ansprüche 2 bis 8 ausgebildet ist.Device (200; 200 ') after Claim 9 , wherein the device (200) for performing the method according to at least one of the Claims 2 to 8th is trained. Verwendung des Verfahrens nach wenigstens einem der Ansprüche 1 bis 8 und/oder der Vorrichtung (200; 200') nach wenigstens einem der Ansprüche 9 bis 10 zur Verarbeitung von Datenpaketen (DP), insbesondere zur Filterung von Datenpaketen, insbesondere Ethernet-Datenpaketen.Use of the method according to at least one of the Claims 1 to 8th and / or the device (200; 200 ') according to at least one of the Claims 9 to 10th for processing data packets (DP), in particular for filtering data packets, in particular Ethernet data packets. Steuergerät (300), insbesondere für ein Kraftfahrzeug, wobei das Steuergerät (300) dazu ausgebildet ist, Datenpakete (DP) von wenigstens einer weiteren Einheit (250) zu empfangen, wobei das Steuergerät (300) wenigstens eine Vorrichtung (200, 200') nach wenigstens einem der Ansprüche 9 bis 10 aufweist und dazu ausgebildet ist, zumindest einen Teil der empfangenen Datenpakete (DP) mittels der Vorrichtung (200; 200') zu verarbeiten, insbesondere zu filtern.Control device (300), in particular for a motor vehicle, the control device (300) being designed to receive data packets (DP) from at least one further unit (250), the control device (300) having at least one device (200, 200 ') after at least one of the Claims 9 to 10th has and is designed to process, in particular filter, at least some of the received data packets (DP) by means of the device (200; 200 ').
DE102018221346.1A 2018-12-10 2018-12-10 Method and device for classifying data packets Pending DE102018221346A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102018221346.1A DE102018221346A1 (en) 2018-12-10 2018-12-10 Method and device for classifying data packets
CN201911250323.5A CN111290731A (en) 2018-12-10 2019-12-09 Method and apparatus for classifying data packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018221346.1A DE102018221346A1 (en) 2018-12-10 2018-12-10 Method and device for classifying data packets

Publications (1)

Publication Number Publication Date
DE102018221346A1 true DE102018221346A1 (en) 2020-06-10

Family

ID=70776851

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018221346.1A Pending DE102018221346A1 (en) 2018-12-10 2018-12-10 Method and device for classifying data packets

Country Status (2)

Country Link
CN (1) CN111290731A (en)
DE (1) DE102018221346A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8077708B2 (en) * 2006-02-16 2011-12-13 Techguard Security, Llc Systems and methods for determining a flow of data
CN101861722A (en) * 2007-11-16 2010-10-13 法国电信公司 Be used for method and apparatus that grouping is sorted out
KR101726359B1 (en) * 2009-09-15 2017-04-12 나파테크 에이/에스 An apparatus for analyzing a data packet, a data packet processing system and a method
US11418632B2 (en) * 2015-12-15 2022-08-16 Intel Corporation High speed flexible packet classification using network processors

Also Published As

Publication number Publication date
CN111290731A (en) 2020-06-16

Similar Documents

Publication Publication Date Title
EP2882144B1 (en) Method and filter assembly for filtering incoming messages transmitted over a serial bus of a communication network in a participant of the network
DE112013004976T5 (en) Adaptive prefix delegation
DE102013008308A1 (en) System and method for addressing devices that are connected to a bus system, in particular a LIN bus
WO2018099760A1 (en) Method for providing random numbers for control units of a vehicle network, and vehicle network for performing said method
DE102016209767A1 (en) RETRANSMISSION DEVICE
DE102018221346A1 (en) Method and device for classifying data packets
DE112019002569T5 (en) Vehicle-bound communication system, determination device, communication device, determination method and computer program
DE102015016716A1 (en) Method for transmitting transmission data from a transmitting device to a receiving device for processing the transmission data and means for carrying out the method
DE102018220848A1 (en) relay device
EP3289470B1 (en) Value document handling apparatus having a data communication system and method for distributing sensor data in a value document handling apparatus
DE112013004307T5 (en) Systems and methods for state-based test case generation for software validation
DE102020210096A1 (en) Method and device for determining information of a bus system
DE102014207479A1 (en) Method for classifying a data segment with regard to its further processing
DE102018222799A1 (en) Method and device for processing data packets
DE112020005980T5 (en) Investigative device, investigative program and investigative method
DE102019218574A1 (en) CONFIGURATION MANAGEMENT FOR AVIONICS NETWORK AND PROCEDURE FOR VERIFYING THE CONFIGURATION OF AN AVIONICS NETWORK
DE102019218061A1 (en) FORWARDING DEVICE
DE102011052510A1 (en) Method for processing data of a control device in a data communication device
DE102021205418A1 (en) Method and apparatus for processing data associated with a first network element
DE102020203824A1 (en) MEDIATION DEVICE
DE112018007548T5 (en) Data communication control device, data communication control program and data control system
DE102015211641A1 (en) A method, system, and computer-readable medium for storing diagnostic data of a vehicle
DE102014207800B4 (en) Method and device for reducing a network load in multicast and broadcast communication
WO2022263359A1 (en) Device and method for processing data units
DE102022113104A1 (en) Unique identity identifier for log message sources in vehicles