EARLY-PACKET-DISCARD VERFAHREN FÜR ASYNCHRON ÜBERTRAGENE PAKETE FESTER LANGE
Die Erfindung betrifft Verfahren und Vorrichtungen zum asynchronen Übertragen von Daten in Zellen von Paketen gleicher Paketlänge, insbesondere von ATM-Paketen einer VPI/VCI-Verbindung.
Beispielsweise aus der WO 01/93598 A2 ist ein Verfahren zum asynchronen Übertragen von Paketen in Zellen (insbesondere ATM-Übertragung) bekannt. Derartige Verfahren bedingen
Stauungen (Congestion) in (zur Bearbeitung der Stauungen vorgesehenen) Puffern an
Schnittstellen/Switches/Weggabelungen. Dabei kann trotz große
Puffer-Zellenspeicher ein Überlaufen eines Puffers auftreten (FIFO-Overflow) , was dazu führt, dass Zellen weggeworfen werden müssen.
Das vorliegende Verfahren betrifft die Übertragung paketvermittelter Daten wie sie beispielsweise mit sogenannten ATM-Verfahren (Asynchrone Transfer Mode) ausgeführt werden kann. Bei einer ATM-Übertragung in einem ATM-Netzwerk sind zu übertragende Daten in einer Vielzahl von Zellen enthalten, wobei jede Zelle beispielsweise 53 aufeinander folgende Bytes enthält, von welchen 48 Bytes NutzInformationen enthalten und 5 weitere Bytes im Header einer Zelle Routing-Information enthalten. Jede Zelle enthält eine Idenfikation, die angibt, zu welchem speziellen virtuellen Kanal. (Virtual Channel = VC) sie gehört, welcher VC eine virtuelle Kommunikationsverbindung zwischen der (die Daten absendenden) Quelle und einem Ziel (zu welchen die
Daten gelangen sollen) repräsentiert. Jeder VC verläuft durch ein Netz von einem Ursprungsknoten (Source Node =SN) durch mehrere Zwischen-Knoten und diese verbindende Übertragungsverbindungen zu einem Zielknoten (Destination Node DN) . Auf jeder diese Verbindungen werden üblicherweise Daten über eine Vielzahl von VCs übertragen. Alle Zellen eines bestimmten VC enthalten in ihren Headern einen den VC
repräsentierenden VC-Indikator (VCI) . Jeder Header enthält überdies einen Indikator eines virtuellen Pfades (Virtuel Path Indicator VPI) , welcher im Einzelfall für mehrere VCs identisch sein kann, wobei aber jede spezielle Kombination von VPI und VCI an jeder Schnittstelle/Board nur einmal auftritt. Alle VCs, welche sich einen Pfad zwischen einem bestimmten Knoten und einem anderen Knoten teilen, enthalten eine Angabe, zu welchem speziellen VP sie gehören und in der Regel enthalten' ihre Header den identischen VPI. Für jede Verbindung werden Zellen verschiedener VCs in einer
Reihenfolge übertragen, welche sicherstellt, dass sie in ihrer Ursprungsreihenfolge bleiben, wobei sie nicht notwendigerweise aufeinanderfolgend übertragen werden müssen. An einer Vermittlungsstelle (Switch etc.) ankommende Daten werden vor und/oder hinter dem Switch in einem Puffer
(üblicherweise des FIFO-Typs) gespeichert, bis sie weiter übertragen werden können. Die maximale (in einem FIFO- Schwellwert für einzelne VPI/VCI-Verbindungen oder für den gesamten Puffer festgelegte) Kapazität gibt an, wie viele Zellen im Puffer zwischengespeichert werden können für die spätere Weiterübertragung, ohne dass der Puffer überläuft.
Ein früherer Lösungsansatz sieht vor, dass in einem Pufferspeicher ankommende ATM-Zellen bei vollem Puffer überwacht werden. Dies hat zufolge, dass viele Pakete die aus mehreren ATM-Zellen bestehen (von denen derart einige verworfen wurden), teilweise fehlerhaft ("korrumpiert") weitergeleitet werden (beispielsweise zu einem SAR-Baustein der das gesamte ATM-Paket wegwirft) . Dadurch werden nicht nur die Schnittstellen zum SAR umsonst mit fehlerhaften Paketen belegt, sondern es werden auch (OAM-F5-) Zellen weggeworfen, die Informationen für die Datenverkehrsregelung übertragen. Im Ergebnis wird das System instabil und schwierig kontrollierbar.
Eine weitere für den Fachmann bekannte Lösung wurde durch Verwendung von ASICS realisiert. Hierbei wird pro Verbindung
(in ATM z.B. pro VPI/VCI-Verbindung) eine extra Warteschlange (Queue) eingerichtet und separat kontrolliert. Allerdings ist hierfür eine komplexe Logik und ein großer Speicher erforderlich, da in der Regel mehrere Tausend Verbindungen gleichzeitig eingerichtet werden können, so dass diese Lösung teuer ist.
Aufgabe der vorliegenden Erfindung ist es, eine möglichst effiziente Bearbeitung eines Überlaufs eines Puffers in einer asynchronen Paketübertragungsverbindung zu ermöglichen. Die Aufgabe wird jeweils durch die Gegenstände der unabhängigen Ansprüche gelöst .
Erfindungsgemäß wird eine Markierung (Flag, hier EOP-Flag = End Of Packet-Flag = Flag das anzeigt, dass das Ende eines Pakets erreicht ist) aktiviert (auf high gesetzt) für eine bestimmte Verbindung (in ATM:VPI/VCI-Verbindung) , wenn die letzte Zelle eines Paketes dieser Verbindung detektiert wird (Puffer ankommt etc.) . Die letzte Zelle wird mit Hilfe eines PTI-Bytes im ATM Header gekennzeichnet. Somit erkennt eine erfindungsgemäßigte KontrollSchaltung (beispielsweise im ATM- FPDEA ein folgendes neues Paket (bzw. die erste Zelle eines neuen Paketes) durch vorheriges Lesen dieses Flags für diese Verbindung . Wenn in einer Verbindung ein neues Paket detektiert wird (=wenn bei gesetzter Markierung EOP = 1 eine neue Zelle ankommt, die die erste Zelle eines neuen Paket sein muss) , kontrolliert die KontrollSchaltung, ob die entsprechende Pufferfullschwelle (FIFO-Schwelle, beispielsweise EPD- Schwelle) überschritten ist. Wenn dieser Pufferfullschwelle überschritten ist, sollen alle Zellen des gleichen Paketes (aus Rationalisierungsgründen) verworfen werden (also ohne weitere Übertragung über die Verbindung in Richtung Ziel gelöscht werden) , auch wenn inzwischen die Schwelle wieder unterschritten wird. Wenn eine Zelle eines Paketes weggeworfen wird, wird eine spezifische Markierung (Flag= EPD-Flag) gesetzt (EPD wird auf high gesetzt) . Diese
Markierung wird im folgenden EPD-Flag = Early Packet Discard- Flag (= frühes Verwerten eines Paketes-Flag) bezeichnet. Wenn dieses EPD-Flag auf "high" gesetzt ist (also mindestens eine Zelle eines Paketes verworfen werden musste) bleibt dieses Flag (für die Verbindung, aus welcher ein Paket verworfen wurde) auf "high" gesetzt, bis die letzte Zelle des gleichen Paketes der entsprechenden Verbindung (in ATM VPI/VCI- Verbindung) angekommen ist und verworfen worden ist. Erfindungsgemäß werden also durch Verwendung der Markierung (EPD-Flag) einfach und effizient alle Zellen eines Paketes einer Verbindung immer dann verworfen, wenn eine Zelle dieses Paketes verworfen werden musste .
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der Zeichnung. Dabei zeigt:
Figur 1 Schematisch eine erfindungsgemäße Behandlung eines vollen Puffers durch Verwerfen von Zellen von Paketen.
Figur 1 zeigt eine Quelle (Source) 1, von welcher Daten in mehrere Zellen 2-6 (in ATM üblicherweise 48 Nutzzellen) enthaltenden Paketen 7 über mehrere Abschnitte 8,9,10 einer Verbindung und über diese Abschnitte verbindende Vermittlungseinrichtungen (beispielsweise ATM Switch 11, 12) zu einem Ziel (Target 13) übertragen werden. Dabei können vor und/oder hinter einer
Vermittlungseinrichtung jeweils ein oder mehrere Puffer 14 (jeweils ein Puffer für eine Verbindung oder ein Puffer für mehrere Verbindungen) vorgehen sein. Zwischen zwei
Vermittlungseinrichtungen 11,12 verläuft unter Umständen eine Vielzahl von Verbindungsabschnitten von Verbindungen, (also hier neben dem Verbindungsabschnitt 9 der betrachten Verbindung auch ein Verbindungsabschnitt 15 und ein Verbindungsabschnitt 16 jeweils einer davon unabhängigen Verbindung) .
Wenn in einer Vermittlungseinrichtung 11 (bzw. in einem Puffer 14 in einer Vermittlungseinrichtung 11) die letzte Zelle (Zelle 2 des Paketes 7) eintrifft (welche auf Grund eines PTI-Bytes im Header gekennzeichnet ist) erkennt eine Kontrolleinrichtung 15 der Vermittlungseinrichtung bzw. des Puffers, dass das letzte Paket eingetroffen ist und nun ein neues Paket kommt. Wenn ein neues Paket kommt (also eine Zelle eines weiteren Paketes kommt) , wird eine Markierung (EOP-Flag = End of Packet-Flag = Ende-des-Paketes-Flag) gesetzt (EOP wird z.B. auf high oder 1 gesetzt), und es wird geprüft, ob der Puffer 14 voll ist, also ob eine Puffer- Füllschwelle (FIFO-Schwelle/EDP-Schwelle etc.) überschritten ist. Wenn die Pufferfullschwelle überschritten ist (also der Puffer voll ist) , soll die diese Pufferüberfüllung (des Puffers oder des Teil des Puffers für diese VPI-VCI-
Verbindung) bedingende Zelle verworfen werden und überdies sollen alle Zellen des Paketes verworfen werden, zu welchem Paket diese verworfene Zelle gehört (wenn inzwischen die Pufferfullschwelle unterschritten wurde (also der Puffer kurzzeitig wieder Platz hätte) . Deshalb wird, wenn eine Zelle eines Paketes wegen Pufferüberfüllung weggeworfen wurde, dass verbindungsspezifische (in ATM: das VPl/VCI-spezifische) Flag (=EPD = Early Packet Discard = frühzeitiges-Wegwerfen-von- Paketen-Markierung) gesetzt. Solange diese Markierung EPD- Flag auf high gesetzt ist, werden von einer
Kontrolleinrichtung 15 der Vermittlungseinrichtung bzw. des Puffers alle Zellen des gleichen Paketes diese VPI/VCI- Verbindung gelöscht. Dabei wird festgestellt, dass die letzte Zelle des gleichen Paketes gelöscht wurde, indem vor dem Löschen einer Zelle jeweils überprüft wird, ob die EOP-Flag- Markierung (welche anzeigt, dass die letzte Zelle eines Paketes eingetroffen ist und eine Zelle eines neuen Paketes eingetroffen ist) auf high gesetzt wurde, also ein neues Paket eingetroffen ist, dessen Zellen nicht mehr weggeworfen werden sollen. Das Verfahren ist für ATM-Übertragungen mit oder ohne IP-Protokoll oder für andere asynchrone PaketZellenübertragungen geeignet .