-
Die Erfindung bezieht sich auf eine digitale
Schaltungsanordnung zur Übertragung von Datenzellen mit wenigstens einer
Dateneingangsschnittstelle, mit wenigstens einer
Datenausgangsschnittstelle, mit einem Segmentation Block, mit einem Cell
Buffer Manager (CBM), der einen Satz von Cell Queues enthält,
mit einem Queue Scheduler Block (QSB) zur Auswahl jeweils
einer Cell Queue und zur Übertragung von Datenzellen aus den
Cell Queues an eine Datenausgangsschnittstelle.
-
Derartige Schaltungsanordnungen werden insbesondere in
Netzwerkknotengeräten wie Switches oder Router in digitalen
Datennetzwerken, beispielsweise Telekommunikationsnetzen,
eingesetzt. In bekannten Datennetzwerken werden verschiedene
Übertragungstechniken und Übertragungsprotokollen verwendet,
welche miteinander kombiniert werden müssen. Dies wird zum
Beispiel durch Implementierung von neuen
Übertragungstechniken oder durch die Verbindung von Netzwerken mit
verschiedenen Übertagungstechniken verursacht. Bei der Integration
unterschiedlicher Übertragungstechniken in einem Netzwerk ist
es daher notwendig, innerhalb des Netzwerkes
Schaltungsanordnungen vorzusehen, welche die Kommunikation zwischen den
verschiedenen Übertragungstechniken bzw. die Umsetzung der
digitalen Daten zwischen den Übertragungsprotokollen sicher
stellen. Solche Schaltungsanordnungen sind insbesondere in
Switches oder Routern eingesetzt.
-
Daher besitzen Hochgeschwindigkeits-Switches und -Router für
Wide Area Networks (WAN) häufig mehrere unterschiedliche
Datenschnittstellen am Eingang und Ausgang zur Kopplung
unterschiedlicher Netzwerktypen und verarbeiten Datenübertragung
zwischen den jeweiligen Übertragungsprotokollen. Insbesondere
ist oft eine Kombination von verbindungsorientierten
Datenkanälen im Asynchronous Transfer Mode (ATM) mit Datenzellen mit
einer konstanten Länge und verbindungslosen Datenkanälen im
Ethernet und Internet Protocol (IP) Format mit Datenzellen
variabler Länge erforderlich.
-
Anhand der Fig. 1 und 2 zum Stand der Technik soll im
sinnvollen und notwendigen Umfang die Datenübertragung im
ATM-Modus dargestellt werden. Dabei wird gemäß dem ATM-
Protokoll die vorhandene Übertragungskapazität der
Datenleitung in Datenpfade (Virtual Path, VP) eingeteilt, die jeweils
wieder mehrere Datenkanäle (Virtual Channles, VC) umfassen,
wie in Fig. 1 zum Stand der Technik dargestellt. Eine ATM-
Datenzelle enthält im Adressbereich (Header) die
Kennzeichnung (Identifier) für die verwendeten VP und VC, durch die
der Übertragungskanal identifiziert wird. Im Header ist
außerdem auch eine nicht dargestellte Kennzeichnung für das
Ende eines Datenpaketes (End of Packet EOP) enthalten, das bei
der letzten Datenzelle eines Datenpaketes gesetzt ist. Im
Datenbereich (Payload) der Datenzelle, die eine konstante Länge
besitzt, ist die zu übertragende Information gespeichert.
-
Hochgeschwindigkeits-Switches und -Router verwenden zur
internen Datenverarbeitung häufig eine zellenbasierte
Datenübertragung, da die interne Datenverarbeitung bei Datenzellen
mit konstanter Länge einfacher als bei Datenpaketen mit
variabler Länge zu realisieren ist.
-
In der Fig. 3 zum Stand der Technik ist schematisch
dargestellt, wie in den Switches durch ein Traffic Management (TM)
den eingehenden Datenkanälen ein Zwischenspeicherbereich
(Buffer) und Übertragungskapazität (bandwidth resources)
zugeteilt wird, so dass insbesondere eine geforderte
qualitative Regulierung der zu übertragenden Daten erfüllt wird. Die
Regulierung basiert auf einer Privilegierung bestimmter
Datenkanäle (Services) aufgrund der Qualitätsanforderungen
(Quality of Service QoS), beispielsweise für Datenkanäle für
Sprachübertragungen. In gattungsgemäßen Verbindungsgeräten,
die intern mit einer zellbasierten Datenverarbeitung
aufgebaut sind, umfasst das Traffic Management den Betrieb und
Interaktionen zwischen dem Cell Buffer Manager (CBM), dem Queue
Scheduler Block, der Segmentation- und Reassembly-Einheit und
der Schnittstellenmatrix mit den Datenein (Rx)- und
Datenausgängen (Tx). Auf die in üblicher Weise aufgebauten
Funktionsblöcke Segmentation- und Reassembly-Einheit sowie
Dateneingangs- und Datenausgangsschnittstellen soll im folgenden
nicht im Detail eingegangen werden.
-
Die Funktion des Queue Scheduler Block soll in vereinfachter
Weise anhand der Fig. 4 zum Stand der Technik erläutert
werden. Die zu übertragenden Daten werden zellenweise
verarbeitet. Nach der Separation in einzelne Datenzellen aus den
angeschlossenen Datenkanälen im Segmentation Block werden die
ankommenden Datenzellen 1 in Zwischenspeichern 2, 3, 4, 5, 6
gespeichert, die im Cell Buffer Manager (CBM) angeordnet
sind. Ein Satz von Zwischenspeichern Cell Queues, 2, 3, 4, 5,
6 ist jeweils einem Queue Scheduler Block (QSB) logisch
zugeordnet, wobei jede Cell Queue 2, 3, 4, 5, 6 durch eine
eindeutige Bezeichnung (Queue Identifier, QID) gekennzeichnet
ist. Wenn eine ankommende Datenzelle in einer leeren Cell
Queue gespeichert werden soll, wird die entsprechende Cell
Queue beim QSB angemeldet. D. h., dass in dieser Cell Queue
eine zu sendende Datenzelle vorhanden ist. Die beim QSB
angemeldeten Cell Queues werden auch als aktive Cell Queues
bezeichnet.
-
Wenn der QSB die Freigabe zum Senden einer Datenzelle durch
ein Kontrollsignal zum Senden Sendesignal, 7 erhält, wird aus
den aktiven Cell Queues eine bestimmte Cell Queue nach
Maßgabe des internen Sendeplans ausgewählt. Die Information (QID)
über die ausgewählte Cell Queue wird an den CBM übermittelt,
der die erste Datenzelle 8 der entsprechenden Cell Queue 2
sendet. Wenn in der Cell Queue 2 weitere zu sendende
Datenzellen vorhanden sind, bleibt diese Cell Queue 2 aktiv und
wird erneut in den Sendeplan aufgenommen. Wenn keine weiteren
Datenzellen zu senden sind, wird diese Cell Queue als passiv
gekennzeichnet, solange keine neue Datenzelle gespeichert
ist.
-
Unter Umständen ist es notwendig, eine Anzahl von Datenzellen
in einem Ausgangskanal direkt nacheinander zu senden. Solche
Datenzellen gehören meist zu einem AAL5 (ATM Adaption Layer)
Datenpaket. Anhand von Fig. 5 zum Stand der Technik soll im
folgenden beispielhaft für drei Cell Queues erläutert werden,
wie dies mittels einer sogenannten VC-Merge Funktionalität
realisiert wird. Die VC-Merge Funktionalität ist
beispielsweise im CBM integriert und mischt mehrere ATM-Datenkanäle
(VCx, VCy, VCz). In ATM-Geräten ist diese VC-Merge
Funktionalität notwendig, wenn mehrere virtuelle Datenkanäle (Virtual
Channel Connections VCC) im Gerät abgeschlossen werden und
ausgangsseitig in einen gemeinsamen VCC gemischt werden.
Diese Funktion ist derzeit im CBM integriert, der die
Verarbeitung der Cell Queues steuert. Dazu bildet der CBM eine
sogenannte Merge Group 9, in der alle Cell Queues 4, 5, 6
zusammengefasst sind, welche ausgangsseitig in einen Datenkanal
gemischt werden sollen. Die Merge Group 9 erhält eine
gemeinsame QID, die vom QSB wie üblich angewählt werden kann. Wenn
der QSB diese QID ausgewählt hat, so dass eine Datenzelle aus
der Merge Group 9 gesendet werden soll, dann wählt der CBM
intern eine Cell Queue aus und sendet die Datenzellen dieser
Cell Queue bis die Kennzeichnung für das Ende des
gespeicherten Datenpaketes (End of Packet EOP) detektiert wird. Erst
danach schaltet der CBM intern auf die folgende Cell Queue
um. Im CBM wird zu dieser Weiterschaltung innerhalb der Merge
Group 9 üblicherweise ein einfacher sogenannter Round-Robin-
Cycle verwendet. Bei diesem bekannten Auswahlverfahren werden
die Cell Queues, in denen Datenzellen gespeichert sind,
aufeinanderfolgend angewählt. Durch dieses Verfahren
gewährleistet der CBM, dass die Merge Group 9 aufeinanderfolgende
Datenzellen eines Datenpaketes sendet.
-
Mit diesem Verfahren können in reinen ATM-Switches die von
einer Merge Group gesendeten Datenzellen einer gemeinsamen
abgehenden Verbindung (ATM-VCC) zugeordnet werden. Dazu
erhält das Datenpaket aus diesen Datenzellen einen gemeinsamen
Adressbereich (VPI/VCI-Header), durch den diese Verbindung
von anderen Verbindungen unterschieden werden kann.
-
Wenn jedoch eine Kopplung von ATM und paketorientierten
Protokollen wie beispielsweise Ethernet oder Internet Protocol
(IP) stattfinden soll, werden üblicherweise die ATM
Verbindungen im Netzwerkknoten (Switch oder Router) abgeschlossen,
die auf eine Verbindung vermittelt werden sollen, welche nur
reine Datenpakete überträgt. Dabei werden die Datenzellen der
abgeschlossenen Verbindungen zu Datenpaketen entsprechend dem
vom verwendeten Protokoll geforderten Format zusammengesetzt.
-
Es wäre prinzipiell denkbar, eine gemeinsame große Merge
Group für alle ankommenden ATM Verbindungen einer
paketorientierten Verbindung zuzuordnen. Ohne ein zusätzliches
Verfahren, das bei der Auswahl der Queues innerhalb der Merge Group
die Möglichkeit einer Privilegierung (QoS) einer ATM
Verbindung schafft, ist jedoch keine Priorisierung einer bestimmten
Verbindung möglich. Alle ankommenden ATM Verbindungen, die
meist von unterschiedlichen Diensten verwendet werden, werden
in der Merge Group durch das Auswahlverfahren gleich
behandelt. Folglich würde der QSB für diese Verbindungen die zu
sendenden Datenzellen einfach weiterleiten, ohne eine QoS
Funktionalität zu ermöglichen.
-
Wenn innerhalb der Merge Group ein QoS Funktionalität zur
Queue Auswahl implementiert würde, müsste der Aufwand durch
den zusätzlichen Mechanismus verdoppelt werden, da auch im
QSB ein QoS Mechanismus integriert ist. Dazu können zum
Beispiel übliche Verfahren wie Weighted Fair Queuing WFQ, bei
dem die Queues im Gegensatz zu einer einfacher Priorisierung
gewichtet sind, Rate Shaping, bei dem zum Beispiel nur jeder
zehnte Slot zum Senden verwendet wird (Rate-10) oder Priority
Scheduling eingesetzt werden. Es ist andererseits denkbar
jede Datenzelle intern mit einem Tag zur Kennzeichnung der
Merge Group zu versehen und die ausgehenden Daten in ebenso
viele Reassembly Blocks aufzuteilen, wie ankommende Verbindungen
vorhanden sind. Dann müssen jedoch sehr viele Reassembly
Blocks und Zwischenspeicher für alle Datenpakete, die in den
Reassembly Blocks verarbeitet werden, vorgesehen werden.
Darüber hinaus muss eine zusätzliche Verarbeitungsstufe
vorgesehen werden, die eine planmäßige Auswahl der aus den
verschiedenen Reassembler Blocks zu sendenden Datenpakete (Packet
Scheduling) ermöglicht.
-
Es ist daher die Aufgabe der Erfindung, eine digitale
Schaltungsanordnung zu schaffen, welche in einem Netzwerkknoten,
der zur Datenübertragung Verbindungen mit Datenzellen
konstanter Länge mit Verbindungen mit Datenpaketen mit variabler
Länge koppelt, in einfacher Weise die Möglichkeit einer
Privilegierung (QoS Funktionalität) von bestimmten Verbindungen
bietet.
-
Die Aufgabe wird dadurch gelöst, dass in einer
gattungsgemäßen digitalen Schaltungsanordnung ein QID-Logic-Block zur
Steuerung der Auswahl einer Cell Queue in Abhängigkeit eines
Kontrollsignals vorgesehen ist. Durch Hinzufügung einer
einfachen Schaltungsanordnung kann eine Cell Queue des CBM
ausgewählt werden, während noch alle Möglichkeiten für eine QoS
Funktionalität des QSB ausgenutzt werden können. Der
erfindungsgemäße QID-Logic-Block ist dabei unabhängig von dem im
QSB verwendeten QoS Verfahren. Die zusätzliche Auswahl einer
Cell Queue schafft die Möglichkeit, dass für eine bestimmbare
Zeit die Datenzellen aus dieser Cell Queue übertragen werden,
bevor gemäß dem QoS Verfahren die folgende Cell Queue
angesteuert wird. Die Dauer der Übertragung aus der ausgewählten
Cell Queue ist abhängig von dem am QID-Logic-Block
anliegenden Kontrollsignal.
-
In vorteilhaften Ausgestaltungen der erfindungsgemäßen
Schaltungsanordnung ist der QID-Logic-Block im Queue Scheduler
Block (QSB) oder im Cell Buffer Manager (CBM) angeordnet. Da
es sich beim QID Logic Block um eine leicht zu realisierende
Schaltungsanordnung handelt, bei der in Abhängigkeit von
einem anliegenden Kontrollsignal ein Steuersignal ausgegeben
wird, kann diese bei Bedarf ohne großen Aufwand innerhalb der
bereits verwendeten Schaltungsanordnungen realisiert werden.
Für eine bevorzugte Weiterbildung der Erfindung ist die
Steuerung von einer einstellbaren Bedingung oder Privilegierung
eines Übertragungskanals abhängig. Die Beeinflussung der
Auswahl der Cell Queues durch ein Steuersignal des QID Logic
Blocks kann an die individuellen Anforderungen der jeweiligen
Verwendung der Schaltungsanordnung angepasst werden. Es kann
sich um eine definierbare Bedingung mit einem konstanten Wert
wie beispielsweise der Anzahl der ununterbrochen aus der
gewählten Cell Queue zu übertragenden Datenzellen oder einer
wählbaren Zeit handeln. Es ist außerdem auch möglich im QID
Logic Block ein aufwendigeres Verfahren zur Auswahl zu
implementieren, wie zum Beispiel Weighted Fair Queuing (WFQ), Rate
Shaping oder Priority Scheduling.
-
Eine besonders vorteilhafte Ausgestaltung der Erfindung
ergibt sich, wenn der QID Logic Block das Steuersignal bei
Detektion eines EOP-Signals setzt. Das EOP (End of Packet)
Signal ist in der letzten ATM-Datenzelle eines
zusammengehörenden Datenpaketes im Header gesetzt. Dieses kann in bekannter
Weise beispielsweise vom QID-Logic-Block oder an einer
anderen Stelle detektiert werden. Bei Verwendung des EOP als
Kontrollsignal werden bis zu einem EOP die Datenzellen der einer
QID zugeordneten Cell Queue übertragen, so dass die
zusammengehörenden Datenpakete nicht zerstört werden. Daher finden
die im QSB implementierten Sendepläne zur Auswahl bestimmter
Cell Queues nun nicht nur auf Datenzellen sondern auch auf
komplette Datenpakete Anwendung (sog. Packet-Aware-QSB). Bei
dieser Ausgestaltung der erfindungsgemäßen
Schaltungsanordnung kann folglich auch die VC-Merge Funktionalität vom QID-
Logic-Block übernommen werden, da so die Datenpakete der ATM
Verbindungen nicht zerstört werden.
-
Bei einer besonders vorteilhaften Ausgestaltung der Erfindung
ist der QID-Logic-Block zur Weiterschaltung an eine folgende
Cell Queue durch Abgabe eines Unlock-Signals als Steuersignal
vorgesehen. Die Verwendung eines Unlock-Signals als
Steuersignal ermöglicht eine besonders einfache Realisierung. Wenn
der QSB eine QID anwählt, bleibt diese QID eingestellt, bis
der QID Logic Block ein Unlock-Signal zum Lösen dieser QID
ausgibt. Erst wenn die Bedingung für das Unlock-Signal
erfüllt ist, kann von der QSB zur planmäßig folgenden QID
weitergeschaltet werden.
-
Im folgenden soll ein Ausführungsbeispiel der Erfindung
anhand von Zeichnungen näher erläutert werden. Dabei zeigen
-
Fig. 1 eine schematische Darstellung einer Asynchronous
Transfer Mode Verbindung nach dem Stand der Technik,
-
Fig. 2 eine schematische Darstellung eines Datenpaketes
einer ATM Verbindung nach dem Stand der Technik,
-
Fig. 3 ein Blockschaltbild eines Netzwerkknotengerätes
(Switch) nach dem Stand der Technik,
-
Fig. 4 ein Blockschaltbild zur schematischen Darstellung
der Funktion eines Queue Scheduler Blocks in einem Switch
nach dem Stand der Technik,
-
Fig. 5 ein Blockschaltbild zur schematischen Darstellung
der Funktion einer Merge Group in einem Switch nach dem Stand
der Technik und
-
Fig. 6 ein Blockschaltbild zur schematischen Darstellung
der Funktion einer erfindungsgemäßen Schaltungsanordnung.
In der Fig. 6 ist ein Blockschaltbild dargestellt, das die
Funktion einer digitalen Schaltungsanordnung mit einem QID-
Logic-Block 10 beschreibt. In einem Cell Buffer Manager (CBM)
sind Cell Queues 11, 12, 13 zur Speicherung von Datenzellen
angeordnet, die jeweils mit einer eindeutigen Queue ID (QID)
gekennzeichnet sind. Mittels dieser QID werden die einzelnen
Cell Queues 11, 12, 13 von einem Queue Scheduler Block (QSB)
adressiert, der aus einer Logikschaltung besteht, welche die
planmäßige Auswahl einer Cell Queue 11, 12, 13 realisiert.
Die QSB überträgt jeweils eine Datenzelle aus der gerade
ausgewählten Cell Queue, wenn ein Kontrollsignal zum Senden 7
einer Datenzelle anliegt. Aus Gründen der Übersichtlichkeit
sind andere Elemente des Netzwerknotengerätes nicht
dargestellt.
-
Zwischen dem CBM und dem QSB wirkt der QID-Logic-Block 10.
Bei Auswahl einer QID durch den QSB ist diese QID im QSB
fixiert. Die in der zugeordneten Cell Queue enthaltenen
Datenzellen werden übertragen, wenn immer der QSB das Sendesignal
7 erhält. Bei Empfang eines Steuersignals "Unlock QID" 14
schaltet der QSB in seinen normalen Betriebsmodus, indem die
Fixierung gelöst wird und die folgende QID nach Maßgabe des
Sendeplans (QID Select Logic) ausgewählt wird. Generell kann
das Unlock-ID Steuersignal 14 bei einer beliebigen
einstellbaren Bedingung, die ein Kontrollsignal 15 liefert oder in
Abhängigkeit eines im QID Logic Block implementierten
Algorithmus aktiviert werden. Im Fall des Ausführungsbeispiels
sollen zu einem gemeinsamen Datenpaket gehörende Datenzellen
aufeinanderfolgend übertragen werden. Zur Realisierung der
sogenannten "packet awareness" löst die Detektion eines EOP
(End of Packet Tag) die Ausgabe des Unlock-ID Signals aus.
EOP ist in der letzten Datenzelle eines zusammenhängenden
Datenpaketes gesetzt und kennzeichnet das Ende eines
Datenpaketes im ATM Protokoll. Die Detektion des EOP kann dabei
innerhalb der QSB oder an einer anderen Stelle der Verarbeitung
der zu übertragenden Datenzellen erfolgen. Somit wird erst
nach Übertragung der letzten Datenzelle die nächste QID
angewählt, so dass zusammenhängende Datenpakete bei der
Übertragung nicht zerstört werden.
-
Eine derart erweiterte QSB kann auch als Packet-Aware-QSB
oder Hybrid-QSB bezeichnet werden, weil eine solche QSB außer
Datenzellen auch zusammenhängende Datenpakete verarbeiten
kann, die in zugeordneten Cell Queues gespeichert sind.
Besonders vorteilhaft ist, dass damit auch alle QoS Verfahren
(Quality of Service) auf die Datenpakete angewendet werden
können, die im QSB zur Verabreitung von Datenzellen
implementiert sind. In diesem Fall kann sogar auf eine VC-Merge
Funktionalität innerhalb des CBM verzichtet werden. Die Zuordnung
der ursprünglichen Cell Queues zum QSB und die Verwendung des
QID-Logic-Blocks 10 sichert die zerstörungsfreie Übertragung
auch von zusammengehörenden Datenpaketen.
-
Neben diesem Ausführungsbeispiel kann der erfindungsgemäße
QID-Logic-Block 10 nicht nur zur zerstörungsfreien
Übertragung von Datenpakten (Packet Awareness) genutzt werden. Es
ist auch möglich anstelle der Detektion des EOP in den
Datenzellen andere logische Bedingungen zur Ausgabe des
Steuersignals zu verwenden. Das Unlock-Signal kann beispielsweise
durch ein Kontrollsignal 15 ausgegeben werden, welches ein
externer Timer sendet oder ein Zähler (Cell Counter) nach
einer einstellbaren Anzahl von Datenzellen abgibt.
Bezugszeichenliste
1 Datenzelle
2, 3, 4, 5, 6 Zwischenspeicher
7 Sendesignal
8 Datenzelle
9 Merge Group
10 QID-Logik-Block
11, 12, 13 Cell Queues
14 Steuersignal
15 Kontrollsignal