EARLY-PACKET-DISCARD VERFAHREN FÜR ASYNCHRON ÜBERTRAGENE PAKETE FESTER LANGEEARLY PACKET DISCARD PROCESS FOR ASYNCHRONOUS PACKAGES OF FIXED LONG
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.The invention relates to methods and devices for the asynchronous transmission of data in cells of packets of the same packet length, in particular of ATM packets of a VPI / VCI connection.
Beispielsweise aus der WO 01/93598 A2 ist ein Verfahren zum asynchronen Übertragen von Paketen in Zellen (insbesondere ATM-Übertragung) bekannt. Derartige Verfahren bedingenFor example, WO 01/93598 A2 discloses a method for the asynchronous transmission of packets in cells (in particular ATM transmission). Such procedures require
Stauungen (Congestion) in (zur Bearbeitung der Stauungen vorgesehenen) Puffern anCongestion in buffers (intended for processing the congestion)
Schnittstellen/Switches/Weggabelungen. Dabei kann trotz großeInterfaces / Switches / forks. Despite being big
Puffer-Zellenspeicher ein Überlaufen eines Puffers auftreten (FIFO-Overflow) , was dazu führt, dass Zellen weggeworfen werden müssen.Buffer cell memory overflow of a buffer occur (FIFO overflow), which means that cells have to be thrown away.
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 dieThe present method relates to the transmission of packet-switched data such as can be carried out, for example, with so-called ATM (Asynchronous Transfer Mode) methods. In the case of an ATM transmission in an ATM network, data to be transmitted are contained in a multiplicity of cells, each cell containing, for example, 53 consecutive bytes, of which 48 bytes contain useful information and 5 further bytes in the header of a cell contain routing information. Each cell contains an identification that specifies which specific virtual channel. (Virtual Channel = VC) it belongs to which VC is a virtual communication link between the source (sending the data) and a destination (to which the
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 einerData should arrive). Each VC runs through a network from an origin node (Source Node = SN) through several intermediate nodes and these connecting connections to a destination node (Destination Node DN). Data on a variety of VCs is typically transmitted on each of these connections. All cells of a particular VC contain the VC in their headers representative VC indicator (VCI). Each header also contains a virtual path indicator (VPI), which can be identical for several VCs in individual cases, but each special combination of VPI and VCI only occurs once on each interface / board. All VCs that share a path between a particular node and another node contain an indication of the particular VP to which they belong and, as a rule, their headers contain the identical VPI. For each connection, cells of different VCs are in one
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 PufferTransmit order which ensures that they remain in their original order, although they do not necessarily have to be transmitted consecutively. Data arriving at an exchange (switch etc.) is stored in a buffer in front of and / or behind the switch
(ü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.(usually of the FIFO type) stored until they can be retransmitted. The maximum capacity (defined in a FIFO threshold for individual VPI / VCI connections or for the entire buffer) specifies how many cells can be buffered in the buffer for later retransmission without the buffer overflowing.
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.An earlier solution provides that ATM cells arriving in a buffer memory are monitored when the buffer is full. As a result, many packets consisting of several ATM cells (some of which have been discarded) are sometimes forwarded incorrectly ("corrupted") (for example to a SAR module which discards the entire ATM packet). As a result, not only are the interfaces to the SAR free of faulty packets, but also (OAM-F5) cells are thrown away, which transmit information for traffic control. As a result, the system becomes unstable and difficult to control.
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.Another solution known to the person skilled in the art was implemented by using ASICS. Here is per connection (in ATM, for example, per VPI / VCI connection) an extra queue is set up and checked separately. However, this requires complex logic and a large amount of memory, since several thousand connections can usually be set up at the same time, so this solution is expensive.
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 .The object of the present invention is to enable the most efficient possible processing of an overflow of a buffer in an asynchronous packet transmission connection. The object is achieved in each case by the subject matter of the independent claims.
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 .According to the invention, a marker (flag, here EOP flag = End Of Packet Flag = flag that indicates that the end of a packet has been reached) is activated (set high) for a specific connection (in ATM: VPI / VCI connection) , if the last cell of a packet of this connection is detected (buffer arrives etc.). The last cell is identified using a PTI byte in the ATM header. A control circuit according to the invention thus recognizes (for example in the ATM-FPDEA, a following new packet (or the first cell of a new packet) by previously reading this flag for this connection. If a new packet is detected in a connection (= if EOP is set when the marking is set) = 1 a new cell arrives, which must be the first cell of a new packet), the control circuit checks whether the corresponding buffer full threshold (FIFO threshold, for example EPD threshold) has been exceeded Packet (for reasons of rationalization) are discarded (i.e. deleted without further transmission via the connection in the direction of the destination), even if the threshold has been fallen below again. If a cell of a packet is discarded, a specific marking (flag = EPD flag) set (EPD is set to high) Marking is referred to in the following EPD flag = early packet discard flag (= early utilization of a packet flag). If this EPD flag is set to "high" (ie at least one cell of a packet had to be discarded), this flag (for the connection from which a packet was discarded) remains set to "high" until the last cell of the same packet the corresponding connection (in ATM VPI / VCI connection) has arrived and has been rejected. According to the invention, the use of the marker (EPD flag) means that all cells of a packet in a connection are discarded simply and efficiently whenever a cell in this packet had to be discarded.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der Zeichnung. Dabei zeigt:Further features and advantages of the invention result from the following description of an exemplary embodiment with reference to the drawing. It shows:
Figur 1 Schematisch eine erfindungsgemäße Behandlung eines vollen Puffers durch Verwerfen von Zellen von Paketen.Figure 1 shows schematically an inventive treatment of a full buffer by discarding cells from packets.
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 einerFIG. 1 shows a source (source) 1, from which data in packets 7 containing a plurality of cells 2-6 (in ATM usually 48 useful cells) via a plurality of sections 8, 9, 10 of a connection and switching devices connecting these sections (for example ATM switch 11 , 12) are transmitted to a target (Target 13). It can be in front of and / or behind a
Vermittlungseinrichtung jeweils ein oder mehrere Puffer 14 (jeweils ein Puffer für eine Verbindung oder ein Puffer für mehrere Verbindungen) vorgehen sein. Zwischen zweiSwitching device one or more buffers 14 (each a buffer for one connection or a buffer for several connections). Between two
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-Switching devices 11, 12 may run a large number of connection sections of connections (that is to say here, in addition to the connection section 9 of the connection in question, a connection section 15 and a connection section 16 each of a connection independent of this). When the last cell (cell 2 of the packet 7) arrives in a switching device 11 (or in a buffer 14 in a switching device 11) (which is identified on the basis of a PTI byte in the header), a control device 15 of the switching device or the Buffers that the last package has arrived and now a new package is coming. When a new packet arrives (i.e. a cell of another packet arrives), a flag is set (EOP flag = End of Packet Flag = end of the packet flag) (EOP is set to high or 1, for example), and it is checked whether the buffer 14 is full, that is to say whether a buffer fill threshold (FIFO threshold / EDP threshold etc.) has been exceeded. If the buffer full threshold is exceeded (i.e. the buffer is full), this buffer overflow (of the buffer or part of the buffer for this 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 einerConnection) -conditional cell and, in addition, all cells of the packet should be discarded, to which packet this discarded cell belongs (if the buffer full threshold has now been undershot (i.e. the buffer would have space for a short time) has been discarded that connection-specific (in ATM: the VPl / VCI-specific) flag (= EPD = Early Packet Discard = early discarding of packets) has been set, as long as this flag is set to high, from one
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 .
Control device 15 of the switching device or the buffer all cells of the same packet deleted this VPI / VCI connection. It is determined that the last cell of the same packet has been deleted by checking before the deletion of a cell whether the EOP flag (which indicates that the last cell of a packet has arrived and a cell of a new packet has arrived is set to high, i.e. a new packet has arrived, the cells of which are no longer to be thrown away. The method is suitable for ATM transmissions with or without an IP protocol or for other asynchronous packet cell transmissions.