-
Die
vorliegende Erfindung betrifft ein Verfahren sowie eine entsprechend
ausgestaltete Vorrichtung zum Speichern von Nachrichten- oder Datenpaketen,
welche in einem bestimmten Datenübertragungsformat
vorliegen und in einem Kommunikationsnetz von einem Sender an einen
gewünschten Empfänger zu übertragen
bzw. zu vermitteln sind.
-
Zur Übertragung
bzw. Vermittlung von Nachrichten werden in modernen Telekommunikationsnetzen
die Nachrichten in mehrere Einheiten bzw. Datenpakete zerlegt. Jedes
dieser Datenpakete ist dabei üblicherweise
mit einem Kopffeld ("Header") und einem Informationsfeld,
welches die eigentliche Nachrichten- oder Nutzinformation ("Payload") enthält, versehen.
Zudem kann ein Endfeld ("Trailer") als Abschluss des
jeweiligen Datenpakets vorgesehen sein.
-
Die
für die
Vermittlung ("Routing") eines Datenpakets
erforderliche Information ist in der Regel in dem Kopffeld des jeweiligen
Datenpakets enthalten. Ein beispielsweise in einem MAC-Frame ("Medium Access Control") übertragenes
Ethernet-Datenpaket (welches
nachfolgend der Einfachheit halber als eMAC-Datenpaket bezeichnet
wird) weist z. B. im Kopffeld die Ursprungsadresse ("Source Address") und die Zieladresse
("Destination Address") der zu übermittelnden
Nachricht auf. Die Zieladresse des Datenpakets wird in jedem Knotenpunkt
des entsprechenden Kommunikationsnetzes ausgewertet, um davon abhängig den
bestmöglichen
Vermittlungspfad zu dem gewünschten
Empfänger
zu ermitteln.
-
Ein
eMAC-Datenpaket umfasst zudem ein IP-Paket ("Internet Protocol"), wobei ein derartiges IP-Paket bis
zu 60.000 Bytes umfassen kann. In Vermittlungsknoten eines Kommunikationsnetzes
kann das Problem auftreten, dass ein in einem bestimmten Datenpaketformat
vorliegendes eingehendes Datenpaket ausgangsseitig auf ein oder
mehrere Datenpakete eines anderen Datenpaketformats abgebildet werden
muss. Während
eine Ethernet-Vermittlung vorzugsweise in lokalen Netzen Anwendung
findet, wird beispielsweise in moderneren Breitband-ISDN-Kommunikationsnetzen
("Broadband Integrated
Services Digital Network")
eine ATM-Vermittlung ("Asynchronous
Transfer Mode")
verwendet. Bei der ATM-Vermittlung werden die zu übertragenden
Nachrichten in Form von Datenpaketen konstanter Länge, sog.
ATM-Zellen, übertragen,
wobei die Vermittlung der ATM-Zellen
anhand von Identifikatoren in den Zellköpfen bzw. Kopffeldern erfolgt.
Eine Besonderheit der ATM-Vermittlung ist die Tatsache, dass jede
ATM-Zelle stets 53 Bytes umfasst und sich aus einem Kopffeld ("Header") mit 5 Bytes und
einem Informationsfeld ("Payload") mit 48 Bytes zusammensetzt.
In einem Vermittlungsknoten eines Kommunikationsnetzes, welcher
sowohl eine eMAC- oder IP-Schnittstelle als auch eine ATM-Schnittstelle aufweist,
besteht somit das Problem, die Daten eines eingehenden IP-Pakets,
welche bis zu 60.000 Bytes umfassen können, ausgangsseitig auf die
relativ kurzen ATM-Zellen,
welche jeweils lediglich 48 Bytes an Nutzinformation umfassen können, abzubilden.
-
Aus
der WO 99/65193 ist ein Switch zur Übertragung von Datenpaketen
zwischen einer Vielzahl von lokalen Netzwerken (LAN) bekannt. Zur
Zwischenspeicherung der Datenpaketen werden Deskriptoren generiert,
welche auf diejenigen Pufferspeicher zeigen, in welchen die Datenpakete
gespeichert sind.
-
Aus
der
US 6,148,082 ist
eine Vorrichtung zum Remultiplexen mehrerer „Transport Streams", welche insbesondere
MPEG-2 Transport Streams sein können,
offenbart. Auch hier werden zum Zwischenspeichern Deskriptoren verwendet,
welche Zeiger auf Speicherorte umfassen.
-
Aus
der
EP 0 752 780 ist
ein Verfahren und eine Vorrichtung zum Übertragen von Datenpaketen aus
einem Computersystem in ein Netzwerk offenbart, welche es ermöglicht,
Datenpakete an verschiedenen Speicherorten zu speichern. Die Information, welche
Teile eines Datenpakets wo gespeichert sind, werden in Deskriptoren
abgelegt.
-
In
Vermittlungsknoten bzw. Vermittlungseinrichtungen, wie z. B. Routern
oder Switches, ist es daher erforderlich, die Daten eines eingehenden
Datenpakets in einem Pufferspeicher ("Buffer") zwischenzuspeichern. Da für die Vermittlung
von Datenpaketen in Kommunikationsnetzen vorwiegend die in den Kopffeldern
der einzelnen Datenpakten enthaltene Routinginformation von Bedeutung
ist, wird in der Regel das Kopffeld über einen schnellen Datenpfad verarbeitet,
während
die wesentlich umfangreichere Nutzinformation des Informationsfelds
eines eingehenden Datenpakets unter Umständen einer äußerst umfangreichen Datenverarbeitung
mit der zuvor erwähnten
Zwischenspeicherung unterzogen werden muss, um die Abbildung auf
das gewünschte
ausgangsseitige Datenübertragungsformat
zu ermöglichen.
-
Dabei
besteht grundsätzlich
das Bedürfnis nach
einem Verfahren bzw. eine entsprechend ausgestaltete Vorrichtung,
womit Datenpakete unterschiedlicher Datenübertragungsformate möglichst einfach,
d.h. mit möglichst
geringem Speicherbedarf und möglichst
wenigen Speicherzugriffen, abgespeichert werden können.
-
Diese
Aufgabe wird erfindungsgemäß durch ein
Verfahren mit den Merkmalen des Anspruches 1 bzw. eine Vorrichtung
mit den Merkmalen des Anspruchs 18 gelöst. Die Unteransprüche definieren
jeweils bevorzugte und vorteilhafte Ausführungsformen der vorliegenden
Erfindung.
-
Die
Erfindung stellt ein Verfahren und eine Vorrichtung zum Vermitteln
von Datenpaketen bereit, wobei die Daten, insbesondere die Payload-Daten
eines in einem ersten Datenübertragungsformat
vorliegenden und an einen Empfänger
weiterzulei tenden Datenpakets in einem Speicher, der in Speicherblöcke gleicher
Größe unterteilt
ist, zwischengespeichert werden. Für jedes zu speichernde Datenpaket wird
in Abhängigkeit
von dem Typ des ersten Datenübertragungsformats
ein Deskriptor generiert, welcher ein Datenfeld mit einem Verweis
auf die Startadressen derjenigen Speicherblöcke des Speichers, in denen
die Daten des Datenpakets zu speichern sind, und ein Datenfeld,
welches das erste Datenübertragungsformat
des an den Empfänger
weiterzuleitenden Datenpakets beschreibt, umfasst. Die Daten des Datenpakets
werden unter Verwendung des Deskriptors in dem Speicher zwischengespeichert
und anschließend
auf mindestens ein Datenpaket mit einem zweiten Datenübertragungsformat
umgesetzt und an den Empfänger
weitergeleitet.
-
Der
Deskriptor ist vorteilhafterweise bevorzugt aus 32Bit-Datenwörtern/Datenfeldern
aufgebaut.
-
Darüber hinaus
kann der Deskriptor ein Datenfeld umfassen, welches Auskunft über die
Anzahl der durch das jeweilige Datenpaket belegten Speicherblöcke des
Speichers gibt. Diesbezüglich kann
ein Iterator verwendet werden, welcher einerseits die Anzahl der
insgesamt von dem Datenpaket belegten Speicherblöcke bezeichnet und andererseits
eine Laufvariable beinhaltet, die wäh rend des Speicherns des jeweiligen
Datenpakets mit dem jeweils verwendeten Speicherblock inkrementiert
wird.
-
Während des
Speicherns der Daten eines Datenpakets kann jeder Speicherblock
beginnend bei seiner Startadresse und/oder endend bei seiner Endadresse
beschrieben werden. Darüber
hinaus ist es jedoch auch möglich,
dass jeder Speicherblock beginnend bei einem bestimmten Adressenoffset
bezogen auf seine Startadresse und/oder bis zu einem bestimmten
Adressenoffset bezogen auf seine Endadresse beschrieben wird. Zu
diesem Zweck kann der beim Speichern der Daten eines Datenpakets
verwendete Deskriptor einen Zeiger aufweisen, welcher auf diejenige
Adresse eines Speicherblocks verweist, bei der tatsächlich mit
dem Speichern begonnen werden soll. Ebenso kann der Deskriptor einen
Zeiger aufweisen, welcher auf diejenige Adresse eines Speicherblocks
verweist, bis zu welcher tatsächlich die
Daten in den jeweiligen Speicherblock geschrieben werden sollen.
-
Durch
Verwendung der erfindungsgemäß vorgeschlagenen
Datenstruktur bzw. des erfindungsgemäß vorgeschlagenen Deskriptors
kann die Verarbeitung der Daten des zu speichernden Datenpakets von
dem physikalischen Speichervorgang entkoppelt werden. Durch die
Verwendung eines Speichers mit Speicherblöcken fester bzw. identischer
Speicherkapazität
wird sichergestellt, dass variabel stets nur diejenige Gesamtspeicherkapazität des Speichers
reserviert werden kann, welche tatsächlich zum Speichern des jeweiligen
Datenpakets benötigt
wird. Somit können
problemlos Datenpakete unterschiedlicher Länge bzw. unterschiedlichen
Umfangs in ein und demselben Speicher abgelegt werden. Durch die Verwendung
eines Pointer Arrays ist eine einfachere Verarbeitung der Daten
und eine einfachere Adressierung der benötigten Speicherblöcke möglich. Zudem
wird die Freigabe nicht mehr gebrauchter Speicherblöcke einfacher
("Garbage Collection").
-
Die
vorliegende Erfindung eignet sich allgemein zur Verarbeitung bzw.
Speicherung von Datenpaketen unterschiedlicher Datenübertragungsformate,
wie beispielsweise eMAC-, IP-, MPLS ("Multi Protocol Label Switch")- oder AAL5-Datenpaketen.
-
Besonders
vorteilhaft ist es, wenn die Speicherkapazität der einzelnen Speicherblöcke des
zum Speichern der Datenpakete verwendeten Speichers eine Kapazität aufweisen,
welche dem Umfang des Informationsfelds ("Payload") einer ATM-Zelle entsprechen und somit
48 Bytes umfassen. In diesem Fall kann die Nutzinformation einer
ATM-Zelle bereits in einem einzigen Speicherblock gespeichert werden,
wodurch sich der Aufbau des benötigten
Deskriptors deutlich vereinfacht.
-
Die
Erfindung eignet sich allgemein zum Einsatz in allen Anwendungsbereichen,
wo Datenpakete, insbesondere Datenpakete mit unterschiedlichen Datenübertragungsformaten,
zu speichern sind, wobei die vorliegende Erfindung insbesondere
in Telekommunikationsvermittlungseinrichtungen, wie z. B. in Form
von Netzwerkprozessoren auf sog. Linecards für Switches oder Router zum
Einsatz kommen kann. Insbesondere ist die vorliegende Erfindung
zum Einsatz in Telekommunikationsvermittlungseinrichtungen geeignet,
welche über
Schnittstellen für
unterschiedliche Datenübertragungsformate,
wie beispielsweise über
eine Ethernet-, IP-, MPLS- oder ATM-Schnittstelle, verfügen, um
die Daten eines mit einem bestimmten Datenübertragungsformat empfangenen
Datenpakets auf mindestens ein Datenpaket mit einem anderen Datenübertragungsformat
abzubilden, welches an den gewünschten
Empfänger
weiter vermittelt werden soll.
-
Die
vorliegende Erfindung wird nachfolgend näher unter Bezugnahme auf die
Zeichnung anhand bevorzugter Ausführungsbeispiele beschrieben.
-
1 zeigt
ein vereinfachtes Blockschaltbild einer Telekommunikationsvermittlungseinrichtung mit
einer erfindungsgemäßen Vorrichtung
zum Speichern der Daten von Datenpakten unterschiedlicher Datenübertragungsformate,
-
2 zeigt
einen möglichen
Aufbau eines zum Speichern eines eMAC-Datenpakets erfindungsgemäß verwendeten
Deskriptors,
-
3 zeigt
eine Darstellung zur Erläuterung des
Aufbaus eines zum Speichern einer ATM-Zelle erfindungsgemäß verwendeten
Deskriptors,
-
4 zeigt
eine Darstellung zur Erläuterung des
Aufbaus eines zum Speichern eines AAL5-Datenpakets erfindungsgemäß verwendeten
Deskriptors, und
-
5 zeigt
eine Darstellung zur Erläuterung des
Aufbaus eines zum Speichern eines MPLS-Datenpakets erfindungsgemäß verwendeten
Deskriptors.
-
In 1 ist
in Form eines stark vereinfachten Blockschaltbilds der Aufbau einer
erfindungsgemäßen Vorrichtung
dargestellt, wie sie beispielsweise in einem Router oder Switch
eines Telekommunikationsnetzes zum Einsatz kommen kann. Ein wesentlicher
Bestandteil ist ein Pufferspeicher 1, in dem die Daten
eines über
eine Anschlusseinheit 3 oder 4 empfangenen Datenpakets
zwischengespeichert werden. Bei dem dargestellten Ausführungsbeispiel wird
davon ausgegangen, dass die Anschlusseinheit 3 eine Schnittstelle
zu einem Ethernet-Kommunikationsnetz,
insbesondere zu einem MAC-Frame-Ethernet-Kommunikationsnetz (eMAC-Kommunikationsnetz),
definiert, während
die Anschlusseinheit 4 eine Schnittstelle zu einem ATM-Kommunikationssystem definiert,
d.h. über
die Anschlusseinheit 3 werden Datenpakete gemäß dem eMAC-Datenübertragungsformat
und über
die Anschlusseinheit 4 Datenpakete gemäß dem ATM-Datenübertragungsformat
empfangen bzw. gesendet.
-
Der
Speicherzugriff auf den Speicher 1 wird von einer Steuereinheit 2 gesteuert,
wobei die Steuereinheit 2 insbesondere dafür verantwortlich
ist, die Daten eines eingehenden Datenpakets in dem Speicher 2 zwischenzuspeichern
und anschließend
in das Datenübertragungsformat
eines ausgehenden Datenpakets zu transferieren. Zu diesem Zweck kommuniziert
die Steuereinheit 2 mit den Anschlusseinheiten 3 und 4 über bidirektionale
Datenpfade 5. Darüber
hinaus ist zwischen den Anschlusseinheiten 3, 4 und
dem Speicher 1 ein schneller bidirektionaler Datenpfad 6 vorgesehen,
welcher zur beschleunigten und bevorzugten Verarbeitung der im Kopffeld ("Header") eines empfangenen
Datenpakets enthaltenen Informationen dient. Wie bereits erläutert worden
ist, dienen die im Kopffeld eines Datenpakets enthaltenen Informationen
vorwiegend der Vermittlung ("Routing") des jeweiligen
Datenpakets zu dem gewünschten
Empfänger,
so dass diese Informationen von übergeordneter
Bedeutung sind und demzufolge bevorzugt verarbeitet werden müssen, um
die geeigneten Vermittlungspfade bestimmen zu können. Die in dem Informationsfeld
des jeweiligen Datenpakets enthalten Nutzinformation ("Payload") wird durch die
Steuereinheit 2 mittels Zugriff über die Datenpfade 5 im
Wesentlichen unverändert
in dem Speicher 1 zwischengespeichert, während die
in dem Kopffeld des Datenpakets enthaltene Information über den
schnelleren Datenpfad 6 und den Speicher 1 nach
einer entsprechenden Datenverarbeitung durch die Steuereinheit 2 weitergeleitet
wird.
-
Beim
Zwischenspeichern der Daten eines empfangenen Datenpakets, insbesondere
der Payload-Daten eines empfangenen Datenpakets, wird von der Steuereinheit 2 eine
spezielle Datenstruktur in Form eines Deskriptors verwendet, wobei
der Grundaufbau des Deskriptors im wesentlichen für die unterschiedlichen
Datenübertragungsformate
einheitlich ist. Dennoch kann der Deskriptor geringfügig Abweichungen
in Abhängigkeit
von dem Datenübertragungsformat
des zu speichernden Datenpakets, d.h. in Abhängigkeit von dem Typ des zu
speichernden Datenpakets, aufweisen.
-
Bei
Empfang eines zu speichernden Datenpakets wird in Abhängigkeit
von dem Typ dieses Datenpakets eine spezielle Funktion der Steuereinheit 2 aktiviert,
durch welche ein zur Beschreibung dieses Datenpakets geeigneter
Deskriptor generiert und die in dem Deskriptor enthaltenen Parameter
entsprechend gesetzt werden. Durch Verwendung des somit generierten
Deskriptors werden anschließend
die Daten des entsprechenden Datenpakets von der Steuereinheit 2 in
dem Speicher 1 zwischengespeichert. Nach der Verarbeitung
eines empfangenen Datenpakets auf zuvor beschriebene Art und Weise kann
ein Update des Deskriptors zur Verarbeitung eines weiteren Datenpaketes
desselben Typs vorgenommen werden. Liegt kein Datenpaket desselben Typs
zur Verarbeitung an, wird der Deskriptor vorzugsweise gelöscht, um
Speicherplatz, welcher zum Speichern der Deskriptoren benötigt wird,
frei zu geben. Die Deskriptoren können beispielsweise auch in dem
Speicher 1 oder direkt in der Steuereinheit 2 gespeichert
werden.
-
Nachfolgend
werden unter Bezugnahme auf 2 – 5 bevorzugte
Ausführungsbeispiele
für die
Struktur von Deskriptoren zur Beschreibung unterschiedlicher Datenpakettypen
erläutert.
-
Wie
in 2 gezeigt ist, ist der Speicher 1, welcher
zum Zwischenspeichern der Daten eines Datenpakets vorgesehen ist,
in eine Vielzahl von gleichgroßen
Speicherblöcken 7 unterteilt.
Ebenso ist in 2 eine mögliche Struktur für einen
Deskriptor 8 zur Beschreibung eines eMAC-Datenpakets dargestellt.
Mit Hilfe des Deskriptors wird die Verbindung bzw. Zuordnung zwischen
den Daten des zu speichernden Datenpakets und den zum Speichern dieser
Daten benötigten
Speicherblöcken 7 des
Speichers 1 hergestellt.
-
Der
in 2 gezeigte Deskriptor 8 umfasst ein Datenfeld
bzw. Datenwort 9, welches den Typ des jeweiligen Datenpakets,
im vorliegenden Fall den Typ "eMAC", bezeichnet. Das
Datenwort 9 kann darüber hinaus
auch eine Information beinhalten, welches Auskunft über den
Umfang der zu speichernden Daten bzw. die Datenpaketgröße gibt,
wobei beispielsweise zwischen zwei unterschiedlichen Datenpaketgrößen unterschieden
werden kann. Diese Information kann für die blockweise Reservierung
bzw. Freigabe des Speichers 1 hilfreich sein.
-
Ein
weiteres Datenwort 10 des Deskriptors 8 kann optional
in Abhängigkeit
von dem Typ des jeweiligen Datenpakets belegt bzw. verwendet werden (beispielsweise
zum Speichern von Kopffeldinformationen). Im Falle eines eMAC-Datenpakets
ist das Datenwort 10 im vorliegenden Fall mit keiner Information
belegt.
-
Darüber hinaus
umfasst der Deskriptor 8 ein Datenwort 11, welches
einen Iterator mit einem Parameter L und einer Laufvariable K umfasst.
Der Parameter L bezeichnet die Anzahl der Speicherblöcke 7, welche
insgesamt zum Speichern der Daten des jeweiligen Datenpakets benötigt werden.
Die Laufvariable K bezeichnet hingegen den jeweils augenblicklich
zum Speichern verwendeten Speicherblock 7, d.h. die Laufvariable
K wird bei jedem Speicherblockwechsel 7 verändert bzw.
inkrementiert. In Abhängigkeit
von dem Wert des Parameters L wird die benötigte Anzahl an Speicherblöcken 7 reserviert.
-
Ein
wesentlicher Bestandteil des vorzugsweise 32Bit-weise organisierten
Deskriptors 8 ist ein Datenfeld 14, in dem ein
Pointer Array mit Pointern bzw. Zeigern auf die Startadressen der
L benötigten Speicherblöcke 7 abgelegt
ist. In dem Datenfeld 14 befindet sich somit eine Liste
von Pointern, die auf die Startadressen derjenigen Speicherblöcke 7 verweisen,
die zum Speichern des jeweiligen Datenpakets benötigt werden. Das Datenfeld 14 umfasst
entsprechend dem Wert des im Datenfeld 11 enthaltenen Parameters
L somit L unterschiedliche Pointer.
-
Beim
Speichern der Daten eines Datenpakets können diese unter Verwendung
des dargestellten Deskriptors 8 sukzessiv beginnend bei
der Startadresse des ersten Speicherblocks 7 in die einzelnen Speicherblöcke 7 geschrieben
werden, wobei die Speicherblöcke 7 jeweils
vollständig
beschrieben werden. Statt dessen ist es jedoch auch möglich, die Daten
beginnend mit einem gewissen Adressenoffset OFF1 bezogen auf die
Startadresse des ersten Speicherblocks 7 bis zu einem gewissen
Adressenoffset OFF2 bezogen auf die Endadresse des letzten Speicherblocks 7 einzuschreiben.
Zu diese Zweck umfasst der in 2 dargestellte
Deskriptor 8 ein Datenfeld 12 mit einem Verweis
auf diejenige Adresse des ersten Speicherblocks 7, bei
welcher tatsächlich mit
dem Einschreiben der Daten begonnen werden soll, so dass die in
dem Datenfeld 12 enthaltene Information auch als Start-Pointer
oder S-Pointer bezeichnet werden kann. Entsprechend umfasst der Deskriptor 8 bei
dem in 2 dargestellten Ausführungsbeispiel ein Datenfeld 13 mit
einem Verweis auf diejenige Adresse des letzten Speicherblocks 7,
bis zu welcher die Daten tatsächlich
in den Speicher 1 geschrieben werden sollen, so dass die
in dem Datenfeld 13 enthaltene Information auch als Trail-Pointer
oder T-Pointer bezeichnet werden kann. Der durch das Datenfeld 12 beschriebene
S-Pointer definiert somit den Adressenoffset OFF1, während der durch
das Datenfeld 13 beschriebene T-Pointer den Adressenoffset OFF2 definiert.
Selbstverständlich
ist auch denkbar, dass der S-Pointer und der T-Pointer nicht auf
den ersten und letzten Speicherblock 7 des Speichers 1 bezogen
sind, sondern sich gemeinsam auf ein und denselben Speicherblock 7 beziehen,
so dass beim Speichern der Daten eines Datenpakets die Daten in
die einzelnen Speicherblöcke 7 stets
mit einem Offset OFF1 bzw. einem Offset OFF2 geschrieben werden.
-
Die
in 2 gezeigte Struktur des Deskriptors 8 eignet
sich beispielsweise auch zum Speichern eines Ethernet-CPCS ("Common Part Convergence Sublayer")-Datenpakets. Dabei
handelt es sich um ein Zwischenformat, welches beispielsweise zur ATM-Segmentierung verwendet
wird.
-
Die
Größe der einzelnen
Speicherblöcke 7 des
zur Zwischenspeicherung der Daten verwendeten Speichers 1 ist
prinzipiell nicht festgelegt. Insbesondere ist auch denkbar, dass
jeder Speicherblock 7 wiederum mehreren Speicherelementen
geringerer Größe zugeordnet
ist. Besonders vorteilhaft ist es jedoch, wenn die Speicherblöcke 7 eine
Speicherkapazität
aufweisen, welche zum Speichern des kleinstmöglichen Datenpakettyps ausreicht.
So kann die Speicherkapazität
der Speicherblöcke 7 beispielsweise
derart gewählt
sein, dass jeder Speicherblock 7 vollständig die Daten einer ATM-Zelle
(53 Bytes) oder zumindest die Payload-Daten einer ATM-Zelle (48
Bytes) speichern kann, da ATM-Zellen die kürzesten Datenpakete sind, welche
darüber
hinaus stets denselben Aufbau aufweisen.
-
Wird
die Speicherkapazität
der einzelnen Speicherblöcke 7 zu
48 Bytes gewählt,
kann zur Beschreibung einer ATM-Zelle bzw. eines ATM-Datenpakets
ein Deskriptor 8 mit einer besonders einfachen Struktur
verwendet werden, wie es in 3 dargestellt
ist. Der in 3 gezeigte Deskriptor 8 umfasst
wiederum ein Datenwort 9 (welches beispielsweise analog
zu den anderen beschriebenen Ausführungsbeispielen 32 Bits umfassen
kann), um den Typ des jeweiligen Datenpakets zu beschreiben. Darüber hinaus
ist das Datenfeld 14, welches gemäß 2 mit einem
Pointer Array belegt ist, auf lediglich einen einzigen Pointer reduziert,
welcher auf die Startadresse des zum Speichern der entsprechenden ATM-Zelle
benötigten
Speicherblock 7 verweist, da aufgrund der gewählten Größe der Speicherblöcke 7 bereits
ein Speicherblock zum Speichern der Payload-Daten einer ganzen ATM-Zelle
ausreicht. Darüber
hinaus ist gemäß 3 das
Datenfeld 10 des Deskriptors 8 mit der im Kopffeld
("Header") der jeweiligen
ATM-Zelle enthaltenen Information belegt. Die separate Speicherung
der Kopffeldinformation der ATM-Zelle in den Deskriptor 8 ist
sinnvoll, da diese Information – wie
bereits zuvor beschrieben worden ist – für die Vermittlung der ATM-Zelle
von primärer
Bedeutung ist. Selbstverständlich
kann das in 3 dargestellte Ausführungsbeispiel
jedoch auch derart abgewandelt werden, dass der Speicherblock 7 53 Bytes
umfasst, so dass in dem Speicherblock 7 sowohl die Header-Daten
als auch die Payload-Daten einer einzigen ATM-Zelle gespeichert
werden können,
wobei in diesem Fall das Datenfeld 10 unbenutzt bleiben
kann. Die Erkennung des richtigen Formats des Deskriptors erfolgt über das
Datenfeld 9, welches den Typ bezeichnet.
-
In
einem ATM-basierten Kommunikationsnetz erfolgen Übertragung und Vermittlung
der ATM-Zellen grundsätzlich
unabhängig
von der jeweiligen Anwendung. Die erforderliche Flexibilität von ATM-Kommunikationsnetzen
bezüglich
unterschiedlicher Kommunikationsprozesse, wie beispielsweise Audio-,
Video- oder Datenkommunikation, ergibt sich aus der Funktionalität einer
speziellen ATM-Anpassungsschicht, welche als AAL-Schicht bezeichnet wird.
Die Funktionen der AAL-Schicht sind bezüglich der Bitrate (konstant
oder variabel), der Kommunikationsart (verbindungsorientiert oder
verbindungslos) etc. anwendungsabhängig. Unabhängig von der Funktion der AAL-Schicht
wird zwischen unterschiedlichen Dienstklassen bzw. AAL-Typen unterschieden.
Die Dienstklasse AAL5 unterstützt
beispielsweise den für
Datenkommunikation typischen VBR-Datenverkehr ("Variable Bitrate"), wobei sowohl verbindungslose als
auch verbindungsorientierte Kommunikation möglich ist.
-
In
der Praxis kommt eine AAL5-Datenübertragung
beispielsweise für
den verbindungslosen Fall bei einer ATM-Kommunikation zwischen lokalen
Netzen ("Local Area
Network", LAN) zur
Anwendung, wobei die AAL5-Dienstklasse bzw. der AAL5-Diensttyp insbesondere
für die
Aufteilung der Daten eines IP-Pakets auf mehrere ATM-Zellen geeignet
ist. Bei diesem Anwendungsfall ist typisch, dass die einem IP-Paket
zugeordneten ATM-Zellen allesamt dasselbe Kopffeld ("Header") aufweisen, wobei
lediglich die letzte ATM-Zelle ein davon abweichendes Kopffeld besitzt.
Demzufolge eignet sich für
dieses Szenario beispiels weise ein Deskriptor 8 mit dem
in 4 dargestellten Aufbau, wobei das Datenwort 9 den
Typ "AAL5" beschreibt. Das
gemäß 2 optional
verwendete Datenfeld 10 ist bei dem in 4 gezeigten Ausführungsbeispiel
aufgeteilt und beschreibt einerseits das Kopffeld der letzten ATM-Zelle
(Header 2) sowie andererseits das Kopffeld aller übrigen ATM-Zellen (Header 1).
Die Datenfelder bzw. Datenwörter 11-14 sind
analog zu 2 belegt. Vorteilhaft ist, dass
lediglich ein Deskriptor 8 für alle ATM-Zellen, die einem
AAL5-Frame bzw. einem AAL5-CPCS-Frame zugeordnet sind, verwendet
werden kann.
-
In 5 ist
ein möglicher
Aufbau des Deskriptors 8 zur Beschreibung eines MPLS-Datenpakets
("Multi Protocol
Lable Switching")
dargestellt. MPLS integriert IP und ATM durch Zusammenfügen von
Schicht2-Funktionalität
(ATM-Switching) mit Schicht3-Funktionalität (IP-Routing). Zu diesem Zweck
umfasst ein MPLS-Datenpaket ein IP-Datenpaket, welches mit einem
speziellen 32Bit-Kopffeld, das als "Shim Header" bezeichnet wird, versehen ist. Dieser "Shim Header" umfasst ein 20Bit-Label, welches zur
Vermittlung ("Routing"/"Switching") des entsprechenden Datenpakets dient
(im Gegensatz hierzu wird bei einer reinen IP-Vermittlung ausschließlich die
Zieladresse ("Destination
Address") ausgewertet. Weitere
Bits des "Shim Header" bezeichnen beispielsweise
die Dienstgüte
("Quality of Service"), d.h. es ist beispielsweise
angegeben, ob wichtige Videodaten oder weniger wichtige Audiodaten übertragen werden
etc.
-
Das
in einem MPLS-Datenpaket enthaltene IP-Paket ist gemäß dem normalen
IP-Protokoll aufgebaut.
-
Zur
Beschreibung eines derartigen MPLS-Datenpakets umfasst der in 5 gezeigte Deskriptor 8 wiederum
ein Datenfeld bzw. Datenwort 9, welches den Typ des Datenpakets
bezeichnet. Das Datenfeld 10 ist bei dem dargestellten
Ausführungsbeispiel
mit den Informationen des zuvor beschriebenen Kopffelds ("Shim Header") belegt. Die Datenfelder 11-14 sind
analog zu den in 2 und 4 dargestellten
Ausführungsbeispielen
belegt, so dass diesbezüglich
auf die vorhergehenden Erläuterungen
verwiesen werden kann.