DE10115799B4 - Method and device for processing data blocks - Google Patents
Method and device for processing data blocks Download PDFInfo
- Publication number
- DE10115799B4 DE10115799B4 DE2001115799 DE10115799A DE10115799B4 DE 10115799 B4 DE10115799 B4 DE 10115799B4 DE 2001115799 DE2001115799 DE 2001115799 DE 10115799 A DE10115799 A DE 10115799A DE 10115799 B4 DE10115799 B4 DE 10115799B4
- Authority
- DE
- Germany
- Prior art keywords
- data
- header data
- header
- prediction
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
Verfahren
zum Verarbeiten von Datenblöcken,
wobei jeder Datenblock Headerdaten und Nutzdaten aufweist und die
Headerdaten die Verarbeitung der Nutzdaten koordinieren und in mindestens
zwei Bereiche unterteilt sind, denen jeweils mindestens ein Verarbeitungsschritt
zugeordnet ist, wobei
der Inhalt der Headerdaten für mindestens
einen der Bereiche vorhergesagt wird und der zugehörige Verarbeitungsschritt
auf der Basis des vorhergesagten Inhalts eingeleitet wird, bevor
der entsprechende Bereich der Headerdaten ausgewertet wird,
und
wobei der Inhalt der vorhergesagten Headerdaten auf Übereinstimmung
mit den tatsächlichen
entsprechenden Headerdaten überprüft wird
und der eingeleitete Verarbeitungsschritt abgebrochen oder sein
Ergebnis verworfen wird, für
den Fall, dass die getroffene Vorhersage fehlerhaft war,
dadurch
gekennzeichnet,
dass der Inhalt der Headerdaten für eine bestimmte
Anzahl von in der Vergangenheit bearbeiteten Datenblöcken gespeichert
wird und die Vorhersage des Inhalts der Headerdaten für einen
empfangenen Datenblock auf der Basis der gespeicherten Headerdaten
erfolgt.Method for processing data blocks, wherein each data block has header data and payload data and the header data coordinates the processing of the payload data and is subdivided into at least two areas to which at least one processing step is assigned in each case
the content of the header data is predicted for at least one of the areas and the associated processing step is initiated based on the predicted content before the corresponding area of the header data is evaluated,
and wherein the content of the predicted header data is checked for correspondence with the actual corresponding header data and the initiated processing step is aborted or its result is discarded in case the prediction made was erroneous,
characterized,
that the content of the header data is stored for a certain number of data blocks processed in the past, and the prediction of the contents of the header data for a received data block is made on the basis of the stored header data.
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Verarbeiten von Datenblöcken sowie auf eine zugehörige Vorrichtung nach dem Oberbegriff des Patentanspruchs 1.The The present invention relates to a method of processing of data blocks as well as an associated one Device according to the preamble of patent claim 1.
In den verschiedensten Bereichen der Datenkommunikation weisen die zu übertragenden Daten eine blockorientierte Datenstruktur auf. Dabei umfasst jeder Datenblock neben den eigentlichen Nutzdaten eine Reihe von sogenannten Headerdaten, die in verschiedene Bereiche unterteilt sind. Die Übertragung solcher Datenblöcke nach dem Stand der Technik soll im folgenden am Beispiel der Übertragung von sogenannten Datagrammen über das Internet erläutert werden. Unter Datagrammen versteht man in sich geschlossene unabhängige Datenblöcke, die sich vor allem durch ihren geringen Protokoll-Overhead auszeichnen.In In the most diverse areas of data communication, the to be transferred Data is a block-oriented data structure. Each includes Data block next to the actual payload a number of so-called Header data divided into different areas. The transfer such data blocks According to the prior art, the following is the example of the transmission from so-called datagrams over the internet explains become. Datagrams are self-contained independent data blocks that mainly characterized by their low protocol overhead.
Für die Internetdatenkommunikation
wird nach dem Stand der Technik ein standardisiertes offenes Protokollschichtmodell
verwendet, wie es beispielsweise in W. D. Haaß, "Handbuch der Kommunikationsnetze", Springer-Verlag,
Berlin, 1997, beschrieben und in
In einem Transitsystem wird bei der Analyse u.a. die Wegewahlentscheidung durchgeführt, bei der die Zuordnung des weiterzuleitenden Datenblocks in der Regel zu einer von mehreren transitsystemausgangsseitigen Schnittstellen getroffen wird. Hierbei und bei weiteren, bedingt durch den Protokollstapeltyp durchzuführenden Prozessierungs schritten werden für jede Schicht von den höhergelegenen Schichten bis hin zu den tiefer gelegenen veränderte oder unveränderte Headerdaten erzeugt und mit den Nutzdaten zusammengefügt, was man als Kapselung bezeichnet.In a transit system is used in the analysis u.a. the routing decision carried out, in the assignment of the data block to be forwarded in the rule to one of several transitsystem-side interfaces is taken. This and others, due to the protocol stack type to be performed Processing steps are for every layer from the higher Layers down to the deeper located changed or unchanged header data generated and merged with the payload, which is called encapsulation.
Die Headerdaten sind in mehrere Bereiche unterteilt, die jeweils einer Protokollebene zugeordnet sind. Für Protokolle von unterschiedlichem Typus weisen diese Bereiche unterschiedliche Längen und Bedeutungen auf. Die Headerdaten beinhalten Informationen, welche die Weiterbehandlung des Datenblocks festlegen. Bei zu übertragenden Datagrammen wird generell unterschieden zwischen Benutzerdatagrammen, welche die Information der Benutzeranwendung beinhalten und Kontrolldatagrammen, welche für das Übertragungsmedium relevante Informationen tragen.The Header data is divided into several areas, one each Log level are assigned. For logs of different Typically, these areas have different lengths and meanings. The Header data contain information which further processing of the data block. For datagrams to be transferred In general, a distinction is made between user datagrams, which the Information of the user application include and control datagrams, which for the transmission medium carry relevant information.
Ein
Teil der Analyse betrifft das Feld eines Headerdatenbereichs, in
welchem die Information über
den Typus des jeweils nächst
höhergelegenen Protokolls
oder des selben Protokolls enthalten ist. Als Beispiel hierfür ist das
Internetprotokoll in der Version 4 (Request for Comments 760: Internet
Protocol Version 4, Internet Engineering Task Force – Internet Architecture
Board) in
Eine wesentliche Kenngröße für die Verarbeitungsdauer in einem System ist die sogenannte Latenzzeit, welche die Zeit zwischen Start und Ende der Datenblockbearbeitung bezeichnet. Die Entscheidung, bis zu welcher Protokollschicht die Headerdaten heraus gearbeitet und analysiert werden, hängt davon ab, ob das analysierende System ein Transitpunkt oder der Endpunkt des übertragenen Datenblocks ist. Dies ergibt sich aus der Headeranalyse. Während im Fall eines Transitsystems die Herausarbeitung von unten in der Regel maximal bis in die vierte Protokollschicht stattfindet, wird im Fall eines Endsystems die Herausarbeitung bis zur siebten Schicht, d. h. bis zur Anwendungsschicht durchgeführt.An important parameter for the processing time in a system is the so-called latency, which designates the time between start and end of data block processing. The decision up to which protocol layer the header data is worked out and analyzed depends on whether the analyzing system is a transit point or the end point of the transmitted data block. This results from the header analysis. While in the case of a transit system the elaboration from the bottom usually takes place up to the fourth protocol layer, in the case ei The final processing until the seventh layer, ie carried out to the application layer.
Sowohl die sequentielle als auch die pseudoparallele Bearbeitung eines Datenblocks in einem Transit- oder Endsystem führen zu einer vergleichsweise langen Latenzzeit des Datenblocks. Daraus resultiert bei der Datenübertragung über ein Netzwerk mit einer Vielzahl von Transitsystemen eine deutliche Reduzierung der möglichen Übertragungsgeschwindigkeiten. Dies ist mitunter auch bedingt durch die sich aus der Datenabhängigkeit ergebende nicht optimale Ausführungsreihenfolge einzelner für den Protokollstapel auszuführender Funktionalitäten. Darüber hinaus verzögert auch die sequentielle Durchführung zeitaufwendiger oder ressourcenaufwendiger Prozessierungsschritte, wie z.B. die Prüfsummenberechnung oder die Klassifizierung von Datenblöcken, die Übertragungsdauer der Datenblöcke erheblich.Either the sequential as well as the pseudo-parallel processing of a Data blocks in a transit or end system lead to a comparatively long latency of the data block. This results in the data transfer via a Network with a variety of transit systems a significant reduction the possible transmission speeds. This is sometimes due to the dependence on data resulting in non-optimal execution order single for to execute the protocol stack Functionalities. About that delayed beyond also the sequential implementation time-consuming or resource-consuming processing steps, such as. the checksum calculation or the classification of data blocks, the transmission time of the data blocks considerably.
Die
Aus
der
Bei den zuletzt genannten Verfahren erfolgt jedoch die Vorhersage immer nur auf der Grundlage des zuletzt empfangenen Frames und kann nicht an auftretende Häufigkeiten und Wahrscheinlichkeiten angepasst werden.at however, the prediction always occurs in the latter methods only on the basis of the last received frames and can not at occurring frequencies and probabilities are adjusted.
Daher besteht die Aufgabe der vorliegenden Erfindung darin, eine verbesserte Vorrichtung und ein Verfahren zur beschleunigten Bearbeitung von Datenblöcken anzugeben.Therefore the object of the present invention is to provide an improved Apparatus and method for accelerated processing of data blocks specify.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 sowie eine Vorrichtung gemäß Anspruch 9 gelöst.These The object is achieved by a method having the features of the patent claim 1 and a device according to claim 9 solved.
Ein besonderer Vorteil des erfindungsgemäßen Verfahrens und der Vorrichtung besteht darin, dass aufgrund der zeitweiligen spekulativen Aufhebung von Datenabhängigkeiten über die Verwendung vorhergesagter Headerdaten mehrere Prozessierungsschritte parallel gestartet werden können, die Reihenfolge der Prozessierungsschritte im Hinblick auf die Bearbeitungszeit optimiert angeordnet werden kann und sich dadurch im statistischen Mittel die Latenzzeit deutlich reduziert. Dabei wird der Inhalt der Headerdaten für eine bestimmte Anzahl von in der Vergangenheit bearbeiteten Datenblöcken gespeichert und die Vorhersage des Inhalts der Headerdaten für einen empfangenen Datenblock erfolgt auf der Basis der gespeicherten Headerdaten. Auf diese Weise kann die Historie von in der Vergangenheit übertragenen Datenblöcken zur Schaffung eines Vorabwissens über die künftig zu erwartenden Datenblöcke genützt werden.One particular advantage of the method and the device is that due to the temporary speculative suspension of data dependencies over the Using predicted header data multiple processing steps can be started in parallel, the order of the processing steps with regard to the processing time can be arranged optimally and thereby in the statistical Means the latency significantly reduced. The content of the Header data for stored a certain number of data blocks processed in the past and the prediction of the contents of the header data for a received data block is based on the stored header data. In this way can the history of data blocks transmitted in the past Creating a preliminary knowledge about the future expected data blocks availed become.
Weitere Ausgestaltungen der Erfindung sind Gegenstand mehrerer Unteransprüche.Further Embodiments of the invention are the subject of several subclaims.
Eine noch weitergehende Reduzierung der Bearbeitungszeit kann dadurch erreicht werden, dass der Inhalt der Headerdaten mehrerer Bereiche vorhergesagt wird und die jeweils zugeordneten Verarbeitungsschritte parallel begonnen werden.A even further reduction of the processing time can thereby can be achieved that predicted the contents of the header data of several areas is and the respective associated processing steps in parallel to be started.
Im Falle, dass hierbei der Inhalt der Headerdaten eines Bereiches nicht mit den tatsächlichen entsprechenden Headerdaten übereinstimmt und der zugehörige eingeleitete Verarbeitungsschritt abgebrochen werden muss, kann dadurch Zeit gespart werden, dass der Inhalt der Headerdaten für die folgenden Bereiche auf der Basis des Überprüfungsergebnisses erneut vorhergesagt wird.in the Case, that in this case the content of the header data of a range not with the actual corresponding Header data matches and the associated one initiated processing step can be canceled This saves time for the contents of the header data for the following Areas based on the result of the review is again predicted.
Gemäß einer bevorzugten Ausführungsform sind die Bereiche verschiedenen Protokollschichten zugeordnet und die Vorhersage wird bezüglich einer Protokollstapelcharakteristik getroffen. Dadurch kann eine beschleunigte Weiterleitung von Internetdatenblöcken, z. B. von Datagrammen, erreicht werden.According to a preferred embodiment, the regions are assigned to different protocol layers and the prediction is made with respect to a protocol stacking characteristic. This can accelerate the forwarding of Internet data blocks, z. As datagrams, can be achieved.
Die Vorhersage kann sich auch auf das Vorhandensein von möglichen Header-Erweiterungsfeldern eines Datenblocks erstrecken. Da solche Header-Erweiterungsfelder die Länge des Protokollheaders beeinflussen, kann eine Vorhersage über das Vorhandensein solcher Felder die Ausführung von Prozessierungsschritten beschleunigen.The Prediction can also affect the presence of potential Extend header extension fields of a data block. Because such Header extension fields the length of the protocol header can predict the presence such fields the execution speed up of processing steps.
Um die Wahrscheinlichkeit einer richtigen Vorhersage der Headerdaten zu erhöhen, kann erfindungsgemäß ein Markierer mitgeführt werden, der angibt, ob ein bearbeiteter Datenblock im Sinne eines Transitsystems weitergeleitet wird oder in dem Verarbeitungssystem endet.Around the probability of correct prediction of the header data to increase, can according to the invention a marker carried indicating whether a processed data block is in the sense of a transit system is forwarded or ends in the processing system.
Gemäß einer weiteren bevorzugten Ausführungsform kann die Latenzzeit eines Datenblocks dadurch verkürzt werden, dass eine Vorhersage zu Werten gemacht wird, die sich erst nach dem Herausziehen von Protokoll-Headerdaten und der Durchführung von Prozessierungsschritten ergeben.According to one another preferred embodiment can shorten the latency of a data block, that a prediction is made to values that only become apparent after extracting protocol header data and performing Processing steps result.
Zweckmäßigerweise basiert die Vorhersage auf einer Empfangshistorie dieser Werte. Anhand der in den beiliegenden Zeichnungen dargestellten bevorzugten Ausgestaltungen wird die Erfindung im folgenden näher erläutert. Es zeigen:Conveniently, the prediction is based on a reception history of these values. With reference to the illustrated in the accompanying drawings Embodiments, the invention is explained in more detail below. It demonstrate:
Im folgenden werden bevorzugte Ausgestaltungen der Erfindung näher beschrieben. Ähnliche oder korrespondierende Einzelheiten des erfindungsgemäßen Gegenstandes sind mit denselben Bezugszeichen versehen.in the Following preferred embodiments of the invention will be described in more detail. Similar or Corresponding details of the subject invention are the same Provided with reference numerals.
Eine
Vorhersageeinheit
Parallel
zur Ausführung
der einzelnen Prozessierungsschritte führt die Systemsteuerungseinheit
Die
Bearbeitungsschritte in dieser und den höheren Protokollschichten werden
abgebrochen und es wird auf der Basis einer erneuten Vorhersage für die Headerdaten
der höherliegenden
Protokollschichten wiederum mit der parallelen Prozessierung des
Datenblocks begonnen. In dem Beispiel der
Die
Protokollstapelcharakteristika empfangener Datenblöcke, vorzugsweise
Datagramme, werden, wie in
Da
manche Protokolltypen aufgrund der Möglichkeit von Header-Erweiterungsfeldern
(z.B. bei dem in
Über die
Vorhersage der eingekapselten nächst
höheren
Schichtprotokolle eines Datagramms hinaus, die jeweils durch einen
wohl definierten Wert im Protokollheaderbereich gekennzeichnet sind, kann
die Protokollstapelaufzeichnungseinheit
Bei
der Bearbeitung eines Datagramms in einem Transitsystems
Zur
Fernanbindung mobiler Benutzer an ein zumeist firmeneigenes Netzwerk
existieren sogenannte virtuelle private Netzwerke. Hierzu muss über eine öffentliche
Netzstruktur, wie sie z.B. das Internet darstellt, eine sichere
Verbindung hergestellt werden. Zur Datenverschlüsselung zwischen zwei öffentlichen
Netzpunkten, einem Tunneleingangspunkt und einem Tunnelausgangspunkt,
bedient man sich sogenannter Tunnelprotokolle
In
Gemäß der vorliegenden
Erfindung kann nun im Rahmen der Vorhersage von Headerdaten z.B.
in der Vermittlungsstelle
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001115799 DE10115799B4 (en) | 2001-03-30 | 2001-03-30 | Method and device for processing data blocks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001115799 DE10115799B4 (en) | 2001-03-30 | 2001-03-30 | Method and device for processing data blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10115799A1 DE10115799A1 (en) | 2002-10-17 |
DE10115799B4 true DE10115799B4 (en) | 2005-05-04 |
Family
ID=7679692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2001115799 Expired - Fee Related DE10115799B4 (en) | 2001-03-30 | 2001-03-30 | Method and device for processing data blocks |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10115799B4 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5056058A (en) * | 1989-03-13 | 1991-10-08 | Hitachi, Ltd. | Communication protocol for predicting communication frame type in high-speed processing system |
US5678060A (en) * | 1993-10-28 | 1997-10-14 | Hitachi, Ltd. | System for executing high speed communication protocol processing by predicting protocol header of next frame utilizing successive analysis of protocol header until successful header retrieval |
-
2001
- 2001-03-30 DE DE2001115799 patent/DE10115799B4/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5056058A (en) * | 1989-03-13 | 1991-10-08 | Hitachi, Ltd. | Communication protocol for predicting communication frame type in high-speed processing system |
US5678060A (en) * | 1993-10-28 | 1997-10-14 | Hitachi, Ltd. | System for executing high speed communication protocol processing by predicting protocol header of next frame utilizing successive analysis of protocol header until successful header retrieval |
Non-Patent Citations (5)
Title |
---|
AGERE [Hrsg.]: Payload Plus Fast Pattern Processor Agere Systems, Product Brief, April, 2001 |
AGERE [Hrsg.]: Payload Plus Fast Pattern ProcessorAgere Systems, Product Brief, April, 2001 * |
HAAß,Wolf-Dieter: Handbuch der Kommunikationsnet- ze. Springer Verlag Berlin, Heidelberg, 1997, Kap. 3.1-3.3 |
HAAß,Wolf-Dieter: Handbuch der Kommunikationsnet- ze. Springer Verlag Berlin, Heidelberg, 1997, Kap.3.1-3.3 * |
STEVENS,W.Richard: TCPI Illustrated Volume, Addrso'n-Wesley, 1995 * |
Also Published As
Publication number | Publication date |
---|---|
DE10115799A1 (en) | 2002-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69031266T2 (en) | Transmission architecture for high-speed network | |
DE60113906T2 (en) | Method and apparatus for packet transmission with packet header compression | |
DE69830491T2 (en) | CUT-THROUGH SWITCHING AND PACKAGE FILTERING IN A COMPUTER SYSTEM | |
DE60114097T2 (en) | Method and system for improving network performance using a performance enhancing proxy | |
DE602004013414T2 (en) | Method and device for improved forwarding and uploading of network data | |
DE60310645T2 (en) | Prevention of package distribution | |
DE112011103561T5 (en) | Network processor and method for accelerating data packet parsing | |
DE10297269T5 (en) | Label packets with a lookup key to make it easier to use a common packet forwarding cache | |
DE69332853T2 (en) | Multiprocessor system and communication method between processors | |
DE60117109T2 (en) | Wireless communication device, wireless communication system for its use and communication method therefor | |
DE60016360T2 (en) | Priority forwarding in a communication system | |
DE60117554T2 (en) | METHOD AND DEVICE FOR EFFICIENT HASHING IN NETWORKS | |
DE19526962A1 (en) | Flow control mechanism for a packet switched computer connection | |
EP3542510A1 (en) | Method for a communications network, and electronic control unit | |
DE2027159A1 (en) | Input-output arrangement for a data processing system | |
EP3395021B1 (en) | Method for transferring transmission data from a transmitter to a receiver for processing the transmission data and means for carrying out the method | |
DE10231941A1 (en) | Data packet structure for directly addressed multicast protocol | |
DE60320685T2 (en) | METHOD AND SYSTEM FOR IMPLEMENTING QUICK CHECKS IN A GPRS COMMUNICATION SYSTEM USING TUNNELS | |
DE10231958A1 (en) | Directly addressed multicast protocol | |
DE10115799B4 (en) | Method and device for processing data blocks | |
DE69833124T2 (en) | ADAPTIVE PROCESSOR SYSTEM | |
EP0555456A1 (en) | Data transmission process and data processing system with distributed computing nodes. | |
DE10115794A1 (en) | Protocol analyzer has control system which either erases or transfers received packet to second interface based on destination address in packet | |
DE3810576A1 (en) | EMBEDDED TESTING SYSTEM FOR TESTING COMPLIANCE OF COMMUNICATION SYSTEMS | |
DE10327545B4 (en) | Method and device for processing real-time data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |