DE69330904T2 - Paketnetz-Schnittstelle - Google Patents
Paketnetz-SchnittstelleInfo
- Publication number
- DE69330904T2 DE69330904T2 DE69330904T DE69330904T DE69330904T2 DE 69330904 T2 DE69330904 T2 DE 69330904T2 DE 69330904 T DE69330904 T DE 69330904T DE 69330904 T DE69330904 T DE 69330904T DE 69330904 T2 DE69330904 T2 DE 69330904T2
- Authority
- DE
- Germany
- Prior art keywords
- interface
- atm
- packet
- header
- cell
- 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 - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 19
- 238000012986 modification Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 description 18
- 239000000872 buffer Substances 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 238000013519 translation Methods 0.000 description 11
- 230000014616 translation Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 241000233805 Phoenix Species 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006727 cell loss Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5619—Network Node Interface, e.g. tandem connections, transit switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/5631—Resource management and allocation
- H04L2012/5636—Monitoring or policing, e.g. compliance with allocated rate, corrective actions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5685—Addressing issues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/555—Error detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- Die vorliegende Erfindung betrifft Paket-Netzwerk-Interfaces.
- Breitband-ISDN-Netze (B-ISDN-Netze) sind digitale Paketnetzwerke, die auf dem Protokoll des asynchronen Transfermodus (ATM) basieren können, das von der CCITT standardisiert wird. Bei ATM werden Daten mit 155 Mb/s oder Vielfachen von 155 Mb/s in Zellen fester Größe aus 53 Byte übertragen. Jede ATM-Zelle umfasst 48 Datenbyte, an die ein 5-Byte-Header angehängt wird. Der Header einer ATM-Zelle umfasst eine Gruppe von Kennungen, darunter eine Kennung für einen virtuellen Pfad (VPI = virtual path identifier) und eine Kennung für einen virtuellen Kanal (VCI = virtual channel identifier), die den Anruf oder die Verbindung (virtuelle Schaltung), zu dem bzw. der die Zelle gehört, eindeutig angeben. Wenn eine ATM-Zelle an einem Eingang einer Vermittlung in einem ATM-Netz ankommt, wird ihr Header, der eine VPI und eine VOI enthält, die den virtuellen Pfad und den virtuellen Kanal darstellen, zu denen die Zelle auf einer Eingangsstrecke der Vermittlung gehört, untersucht, um zu bestimmen, wohin die Zelle geleitet werden soll. Der Header wird außerdem so geändert, dass er eine neue VPI und VCI enthält, die den virtuellen Pfad und den virtuellen Kanal anzeigen, zu denen die Zelle auf einer Ausgangsstrecke der Vermittlung gehören wird.
- Bestehende integrierte Schaltungschips, die diese Verarbeitung durchführen, werden gewöhnlich Header- Übersetzungseinheiten genannt und führen die beiden folgenden Operationen durch: Header-Modifikation und -Manipulation lokaler Routing-Kennzeichnungen (routing tags). Header- Übersetzungseinheiten modifizieren entweder die Kennung für einen virtuellen Pfad oder die Kennung für einen virtuellen Kanal (VPI/VCI) oder beide in dem ATM-Header. Vorbekannte Header-Übersetzungseinheiten führen in der Regel einen Tabellennachschlag durch, um dies zu erzielen. Genauer gesagt enthalten diese Einheiten einen Direktzugriffsspeicher, der einen neuen Header enthält, der an jeder ATM-Zelle zugefügt werden soll. Ein vorbestimmter Teil des alten Headers einer ATM-Zelle wird verwendet, um den Direktzugriffsspeicher an der Speicherstelle des neuen Headers für die ATM-Zelle zu adressieren. Neben der Bereitstellung eines neuen Headers für jede ATM-Zelle können Header-Übersetzungseinheiten außerdem eine Routing-Kennzeichnung jeder ATM-Zelle zufügen, um zu bewirken, dass eine ATM-Vermittlung die Zelle zu einem entsprechenden Vermittlungsausgang und einer Vermittlungsausgangsstrecke leitet. Die erste Operation wird bei B-ISDN-Standards gefordert, um ATM-Zellen durch verschiedene virtuelle Pfade auf verschiedenen Strecken zu leiten. Die zweite Operation erfolgt intern in ATM-Vermittlungen und hängt von der Art der verwendeten Vermittlung ab. Diese beiden Operationen sind die minimalen Operationen, die zum Transport von ATM-Zellen durch ein Netzwerk erforderlich sind. Es wären jedoch andere Operationen in ATM-Interfaces nützlich. Zu diesen anderen Operationen gehört das Einfügen von Zellen in ATM-Strecken zwischen ATM-Vermittlungen oder das Extrahieren von Zellen aus diesen, die Überwachung der Bandbreitenbenutzung von Kommunikationskanälen zwischen ATM-Vermittlungen und Kommunikationskanälen zwischen Benutzern und dem Netzwerk und das Sammeln von Statistiken zur Bewertung der Netzwerkleistung. In der Vergangenheit mussten diese Funktionen, falls sie überhaupt durchgeführt wurden, zusätzlich zu der Header-Übersetzungseinheit von separaten Chips durchgeführt werden. Es sind mehrere Tabellennachschlagevorgänge in Direktzugriffsspeichern zusätzlich zu dem Tabellennachschlag in dem Direktzugriffsspeicher der Header-Übersetzungseinheit erforderlich. Diese Vielzahl von Chips und Tabellennachschlagevorgängen führt zu platzaufwendigen und komplexen Schaltkreisen und langen Zeitverzögerungen bei der Erzielung der oben beschriebenen Funktionen. Außerdem waren vorbekannte Schaltkreise insofern inflexibel, als nicht der ganze ATM-Header verwendet werden konnte, um Tabellennachschlageoperationen durchzuführen. Außerdem besaßen diese vorbekannten Schaltkreise auch keine zweckmäßigen Einrichtungen zum selektiven Entfernen von ATM-Zellen aus einem durch eine ATM-Vermittlung fließenden Zellenstrom oder zum selektiven Hinzufügen von ATM-Zellen zu diesem Zellenstrom. Vorbekannte Schaltkreise waren somit nicht von Haus aus für eine verteilte Vermittlungssteuerung geeignet. Sie erforderten eine zentrale Steuerung, die die Zellenverarbeitungsgeschwindigkeit begrenzte.
- Die EP-A-0500238 beschreibt ein Paketnetzwerk-Interface, das einen Überwachungs- und Header-Übersetzungseinheit- Assoziativspeicher umfasst, der dazu programmiert werden kann, nach Übereinstimmungen entweder bei VPI-Werten alleine oder nach Übereinstimmungen bei VCI-Werten alleine oder nach Übereinstimmungen sowohl bei VPI- als auch bei VCI-Werten zusammen zu suchen.
- ELECTRONIC CIRCUITS AND SYSTEMS FOR COMMUNICATION, ETH ZÜ- RICH, 5.-8.3.1990, Nr. -, 5.3.1990, MELCHIOR, H., Seiten 63- 72, XP000315092, SCHNEIDER, H.: "THE CONCEPT OF VIRTUAL PATHS AND VIRTUAL CHANNELS IN ATM-NETWORKS" beschreibt eine Anzahl von Varianten zur Verwendung in einem ATM-Vermittlungssystem zum Übersetzen ankommender VCI/VPI-Informationen bei ausgehenden VCI/VPI-Informationen. Zum Beispiel kann eine direkte Adressierung verwendet werden. Bei der direkten Adressierung werden ankommende VCI und VPI kombiniert, um eine Speicheradresse zu bilden, die verwendet wird, um ausgehende VCI- und VPI-Informationen aus einem Übersetzungsspeicher abzurufen. Als Alternative kann eine indirekte Adressierung verwendet werden. Hier werden die ankommenden VCT- und VPI- Informationen verwendet, um eine Adresse zum Wiederherstellen von Informationen aus einer "Nachschlagetabelle" zu bilden. Bei den wiederhergestellten Informationen handelt es sich um eine weitere Adresse zur Verwendung beim Zugriff auf den Übersetzungsspeicher zur Wiederherstellung der ausgehenden VCI- und VPI-Informationen. Schließlich kann man eine Übersetzung mit einem Assoziativspeicher verwenden. Hierbei speichert der Assoziativspeicher (CAM) ankommende VCI/VPI- Kombinationen und zugeordnete ausgehende VCI/VPI-Kombinationen. Der CAM wird nach jeder ankommenden VCI/VPI- Kombination durchsucht. Bei einer Übereinstimmung werden die zugeordneten ausgehenden VCI/VPI-Informationen abgerufen. Wie bei der Referenz D1 können die VCI/VPI-Kombinationen auch maskiert werden.
- Gemäß der vorliegenden Erfindung wird ein Paketnetzwerk- Interface nach Anspruch 1 bereitgestellt.
- Bei einem Beispiel der Erfindung umfasst das Interface eines asynchronen Transfermodus (Interface der ATM-Schicht) einen Assoziativspeicher, der auf einen wählbaren und vorbestimmten Teil einer durch das Interface empfangenen ATM-Zelle reagiert. Der Assoziativspeicher erzeugt ein Adresssignal, das an einen Direktzugriffsspeicher gerichtet wird, der mindestens einen mit der ATM-Zelle zusammenhängenden Parameterblock erzeugt. Bei einem Beispiel der Erfindung umfasst der Parameterblock einen neuen ATM-Header für die Zelle. Bei einem anderen Beispiel der Erfindung umfasst der Parameterblock einen lokalen Header, der an die ATM-Zelle angehängt werden soll. Bei einem weiteren Beispiel der Erfindung kann der Parameterblock einen Netzwerknutzungsparameter umfassen, mit dem der Verkehrsfluss durch ein ATM-Netzwerk überwacht werden kann. Typische Nutzungsparameter können ein Bandbreitennutzungsparameter oder ein Diskontinuitätsparameter (burstiness parameter) sein. Es können geeignete Maßnahmen getroffen werden, um Verletzungen dieser Parameter durch den Kommunikationsverkehr in dem Netzwerk zu erkennen und zu überwachen. Zum Beispiel kann ein Leaky-Bucket-Algorithmus implementiert werden, um Netzwerknutzungsverletzungen zu erkennen. Bei einigen Beispielen der Erfindung kann eine ATM-Interface-Schaltung mit einem lokalen Eingangs-/Ausgangs-Interface ausgestattet werden, das das selektive Hinzufügen von ATM-Zellen zu einem zwischen einem Haupteingang und einem Hauptausgang der ATM- Interface-Schaltung fließenden ATM-Zellenstrom gestattet. Dieses lokale Eingangs/Ausgangs-Interface ermöglicht außerdem das selektive Extrahieren von ATM-Zellen aus diesem ATM- Zellenstrom. Ein ausgewählter Umfang an ATM-Zellenverarbeitung kann somit durch Hardware in integrierten Schaltungschips eines ATM-Interfaces durchgeführt werden, und ein ausgewählter Umfang an ATM-Zellenverarbeitung kann durch Software in lokalen Steuerprozessoren durchgeführt werden. Funktionen wie zum Beispiel Header-Übersetzungen, Fehlerprüfung und Überwachung könnten für die am stärksten benutzten virtuellen Schaltungen als Hardware und für den Rest der VCs durch den lokalen Steuerprozessor als Software realisiert werden. Dadurch kann ein ATM-Netzwerk den gesamten virtuellen Pfad- und virtuellen Schaltungsraum verwenden (2²&sup8; virtuelle Schaltungen, entsprechend den 28 Bit in dem VCI/VPI-Feld in einem ATM-Header), obwohl das ATM-Interface möglicherweise nicht über die Kapazität verfügt, Informationen zu halten und zu verarbeiten, die alle virtuellen Schaltungen betreffen. Außerdem würden von dem lokalen Steuerprozessor Signalisierungs- und Bandbreitenmanagement und Routing-Funktionen durchgeführt. Die verteilte Steuerung von ATM-Vermittlungen wird somit zweckmäßig erzielt.
- Dies ist lediglich eine Zusammenfassung bestimmter Aspekte der in der vorliegenden Anmeldung beschriebenen Erfindung. Der volle Umfang der ausschließlichen Rechte ist in den Ansprüchen am Ende der Anmeldung definiert.
- Fig. 1 ist ein Schaltbild einer Anzahl von Interface- Schaltungen der ATM-Schicht, die die Erfindung realisieren und die an den Eingängen und Ausgängen einer ATM- Paketvermittlung angeordnet sind.
- Fig. 2 ist ein ausführliches Blockschaltbild einer der in Fig. 1 gezeigten Interface-Schaltungen der ATM-Schicht.
- Fig. 3 ist ein ausführliches Blockschaltbild der Funktionsweise des Assoziativspeichers und des Direktzugriffspeichers von Fig. 2.
- Fig. 4 ist ein ausführliches Blockschaltbild einer selektiven ATM-Header-Modifikation durch ein Veränderungsmaskenregister.
- Fig. 5 zeigt ein beispielhaftes Benutzer-Netzwerk-Interface, das die Erfindung beinhaltende Interface-Schaltkreise verwendet.
- Fig. 6 zeigt ein beispielhaftes Netzwerk-Knoten-Interface, das die Erfindung beinhaltende Interface-Schaltkreise verwendet.
- Fig. 1 zeigt eine Anzahl von Interface-Schaltungen der ATM- Schicht (ATM layer interface circuits = ALIs), die mit den Eingängen und Ausgängen einer ATM-Paketvermittlung 10 verbunden sind, die in einem ATM-Kommunikationsnetzwerk verwendet wird. Die Paketvermittlung 10 kann eine von mehreren miteinander verbundenen Paketvermittlungen sein, die in der Regel ein Paketkommunikationsnetzwerk bilden. Jede dieser Vermittlungen weist jeweilige Eingänge und Ausgänge und mit einem Teil oder allen dieser Eingänge und Ausgänge verbundene ALIs auf. Obwohl die vorliegende Beschreibung ein Beispiel für die Erfindung erörtert, in dem ein ATM-Kommunikationsnetzwerk vorkommt, sollte betont werden, dass die vorliegende Erfindung auf jedes beliebige Paketnetzwerk oder jedes andere ähnliche Kommunikationsnetzwerk anwendbar ist. Die ATM-Paketvermittlung 10 vermittelt ATM-Zellen, die an ihren Eingängen empfangen werden, zu gewählten Ausgängen. Die ATM- Paketvermittlung 10 kann ein beliebiges Vermittlungssystem sein, das in Kommunikationsnetzwerken verwendet wird, die das ATM-Protokoll verwenden, wie zum Beispiel die ATM- Paketvermittlung, die in "Phoenix: A Building Block Chip For A Fault Tolerant Broadband Packet Switch", Globecom, '91, Phoenix, Dezember 1991, von V. Kumar et al. beschrieben wird.
- ATM-Zellen werden auf Eingangsstrecken 11, 12 und 13 zu den Eingängen der ALIs 14, 15 und 16 geleitet. Diese ATM-Zellen werden von den ALIs 14, 15 und 16 verarbeitet und auf Vermittlungseingängen 17, 18 bzw. 19 zu der Vermittlung 10 geleitet. Die Vermittlung 10 leitet selektiv ATM-Zellen, die sie an den Vermittlungseingängen 17, 18 und 19 empfängt, zu entsprechenden Vermittlungsausgängen 20, 21 und 22. Die Zellen an den Vermittlungsausgängen 20, 21 und 22 werden in die ALIs 23, 24 bzw. 25 eingegeben. Die ALIs 23, 24 und 25 verarbeiten die von ihnen empfangenen Zellen und leiten sie zu Ausgangsstrecken 26, 27 bzw. 28. Die Anzahl von Eingängen zur Vermittlung 10 und die Anzahl von Ausgängen aus der Vermittlung 10 sowie die Anzahl von ALIs, die in Fig. 1 gezeigt sind, dienen lediglich als Beispiel. Es sind Vermittlungen mit jeder beliebigen Anzahl von Eingängen und Ausgängen, die eine beliebige Anzahl von ALIs verwenden, auf die vorliegende Erfindung anwendbar.
- Die in Fig. 1 gezeigten ALIs können verwendet werden, um Benutzer-Netzwerk-Interfaces (user network interfaces = UNIs) und Netzwerk-Knoten-Interfaces (network node interfaces = NNIs) zu implementieren. Die ALIs können entweder ein allgemeines ATM-Protokoll oder das ATM-Protokoll für das oben erwähnte Phoenix-Vermittlungssystem unterstützen. Als Beispiel können die ALIs Eingangsports und Ausgangsports für acht Bit bei 50 MHz aufweisen. Wie nachfolgend ausführlich beschrieben wird, können die ALIs außerdem einen lokalen Port aufweisen, der ein lokaler Port für 32 Bit bei 35 MHz sein kann, der ein gemeinsames Adressen-/Daten-Protokoll verwendet.
- Wie nachfolgend ausführlicher beschrieben wird, führen die ALIs in Fig. 1 jeweils eine ATM-Header-Modifikation, das Hinzufügen oder Entfernen lokaler Routing-Kennzeichnungen, die Bandbreitennutzungsüberwachung, die Anschaltung des lokalen Prozessors zum Einfügen und Extrahieren von ATM-Zellen zu und von einer ATM-Strecke und das Sammeln von Statistiken für jeden virtuellen Kanal (VC/VP), der von der ALI behandelt wird, durch.
- Fig. 2 ist ein ausführliches Blockschaltbild einer der in Fig. 1 gezeigten ALIs 14. Die anderen ALIs 12, 13, 23, 24 und 25 sind ähnlich aufgebaut. Die in Fig. 2 ausführlich gezeigte ALI 14 umfasst einen Haupteingang 8, an dem ATM-Zellen in die ALI 14 aufgenommen werden, und einen Hauptausgang 17, an dem die ATM-Zellen die ALI 14 nach ihrer Verarbeitung verlassen. ATM-Zellen können außerdem aus dem Hauptzellenstrom zwischen dem Haupteingang 8 und dem Hauptausgang 14 zu einem lokalen Interface extrahiert oder kopiert werden. ATM-Zellen können auch aus diesem Interface in den Hauptzellenstrom eingefügt werden. Der Haupteingang und der Hauptausgang können mit zwei verschiedenen Raten getaktet werden. ATM-Vermittlungen, wie zum Beispiel die oben beschriebene Phoenix-Vermittlung können mit der zwei- oder dreifachen Geschwindigkeit der ankommenden Strecken arbeiten, um ein Blockieren in der Vermittlung zu reduzieren. Der Ausgang einer ALI am Eingang einer Vermittlung 10 läuft dann schneller als ihr Eingang, und der Eingang einer ALI am Ausgang der Vermittlung läuft schneller als ihr Ausgang. Die ALI besitzt einen Ausgangspuffer, der eine vorbestimmte Anzahl von ATM-Zellen, zum Beispiel zehn ATM- Zellen, halten kann, um Zellendiskontinuitäten zu glätten, die die ALI langsamer verlassen, als sie empfangen wurden. Außerhalb der ALIs kann eine zusätzliche Pufferung bereitgestellt werden. Die Pufferung kann auch dadurch erzielt werden, dass die ankommenden Zellen über ein lokales Interface zu einem Direktzugriffsspeicher umgelenkt werden, der einem lokalen Prozessor zugeordnet ist, und diese Zellen später mit einer entsprechenden Rate in den ausgehenden ATM-Zellenstrom eingefügt werden.
- Es gibt zwei Arten von ATM-Zellen, die am Haupteingang einer ALI empfangen und aus dem Hauptausgang einer ALI gesendet werden können. Diese Zellen können einfache ATM-Zellen sein, die 53 Byte umfassen, wenn sich die ALI am Eingang einer ATM- Vermittlung befindet, oder sie können ATM-Zellen sein, die einen lokalen Header (1-Header) enthalten, der von einer ATM- Vermittlung als eine interne Routing-Kennzeichnung verwendet wird, wenn sich die ALI am Ausgang der ATM-Vermittlung befindet. Alle ATM-Zellen, die am Haupteingang ankommen, müssen einen 1-Header derselben Länge aufweisen; alle ATM-Zellen, die den Hauptausgang verlassen, müssen ebenfalls einen 1- Header derselben Länge aufweisen, die von der 1-Header-Länge am Haupteingang verschieden sein kann. Innerhalb der ALIs werden ATM-Zellen ohne ein Byte des ATM-Headers, das die Header-Fehlerprüfbits (header error check bits = HEC bits) enthält, behandelt. Dieser HEC-Code wird geprüft und von den Zellen entfernt, sobald die Zellen empfangen werden, und neu berechnet und zu den Zellen hinzugefügt, bevor sie die ALI am Hauptausgang verlassen. Ohne dieses HEC-Byte weisen ATM- Zellen nur 52 Byte auf. Das bereits erwähnte lokale Interface besitzt einen Bus, der 32 Bit breit sein kann, so dass 13 Zugriffe erforderlich sind, um eine ATM-Zelle in einer ALI zu dem lokalen Interface zu übermitteln.
- Man betrachte eine ATM-Zelle, die am Eingang der in Fig. 1 und 2 dargestellten ALI 14 ankommt. Diese Zelle kommt an dem Eingang der ALI 14 mit 155 Mb/s an, ihr HEC wird geprüft und von der Zelle entfernt, und die Zelle wird als eine 52-Byte- ATM-Zelle gespeichert. Wie unten ausführlicher beschrieben wird, werden Leaky-Bucket-Informationen, die zu dieser Zelle gehören, aktualisiert, und im Fall eines Bucket-Überlaufs wird die Zelle entweder fallengelassen, als fallenlassbar markiert oder zu einem lokalen Interface geleitet. Wenn die Zelle für den Hauptausgang der ALI bestimmt ist, wird ein entsprechender lokaler Header der Zelle zugefügt, so dass die Zelle zu einem entsprechenden Vermittlungsausgang gelenkt werden kann. Weiterhin wird das VCI/VPI-Feld in dem Header modifiziert, und die Zelle wird in einem Ausgangs-FIFO in der ALI gespeichert. Während die Zelle aus der ALI austritt und in die Vermittlung eintritt, wird ein neues HEC-Byte berechnet und am Ende des ATM-Headers eingeführt.
- An einer Ausgangs-ALI, wie zum Beispiel der Ausgangs-ALI 23 am Ausgang der Vermittlung 10 wird das HEC-Byte wiederum aus dem ATM-Header entfernt, der ATM-Header wird modifiziert (zum Beispiel wird dem ATM-Header ein neues VPI/VCI-Feld gegeben), und es wird ein Ein-Byte-Rest des lokalen Headers entfernt und durch einen lokalen Null-Byte-Header ersetzt. Die Zelle wird dann mit einem neuen HEC zu einer abgehenden Strecke, wie zum Beispiel der Ausgangsstrecke 26, gesendet. In diesem Beispiel wurde der ATM-Header zweimal modifiziert, einmal unmittelbar vor dem Eintritt in die Vermittlung 10 und einmal unmittelbar nach dem Verlassen der Vermittlung 10. Eine Zelle kann ein VCI/VPI aufweisen, das in der Vermittlung 10 verwendet wird. Dieses Merkmal ermöglicht eindeutige ATM-Header für jede Verbindung innerhalb der Vermittlung. Die eindeutige Kennung jeder Verbindung kann die Adresse ihres Eingangsports oder ihres Ausgangsports enthalten, um ein Umleiten von Zellen zu ermöglichen, die möglicherweise wegen Fehlern in der Vermittlung fehlgeleitet (misrouted) wurden.
- Es folgt eine ausführlichere Beschreibung der in Fig. 2 dargestellten Schaltkreise. Die Hauptkomponenten in dem in Fig. 2 gezeigten Beispiel der Erfindung enthalten einen 1024-Wortmal-33-Bit-Assoziativspeicher (CAM) 32, der für eine Nachschlageoperation verwendet wird, die eine Übereinstimmung zwischen einer gespeicherten Kennzeichnung mit 28 Bit für einen virtuellen Kanalvirtuellen Pfad und einem entsprechenden Teil eines ATM-Headers, der einer ATM-Zelle, die durch die ALI 14 fließt, zugeordnet ist, sucht. Eine andere Hauptkomponente der in Fig. 2 gezeigten ALI 14 ist ein 1024-Wortmal- 128-Bit-Direktzugriffsspeicher (RAM), der Ersatz-ATM-Header und lokale Routing-Header speichert. Der RAM speichert außerdem Überwachungsparameter und Überwachungszustände sowie statistische Informationen, die mit dem durch die ALI 14 fließenden Verkehr zusammenhängen. Die ALI 14 von Fig. 2 kann auBerdem Direktzugriffsspeicher mit 2.688 Byte enthalten, um eine Anzahl von FIFO-Puffern (first in first out) zu implementieren. Genauer gesagt können diese FIFOs einen 4- Prioritäts-8-Zellen-FIFO enthalten, um Diskontinuitäten zu puffern, einen 4-Prioritäts-2-Zellen-FIFO, um lokal erzeugte ATM-Zellen zu puffern, und einen 2-Zellen-FIFO, um für einen lokalen Port bestimmte Zellen zu puffern. Die Eingangs-ATM- Header werden gemäß dem ATM-Standardfehlerkorrigiert, und die Fehlerkorrektur wird zu den Ausgangs-ATM-Zellen hinzugefügt. Ein in Fig. 2 gezeigtes Programmregister 29 wird beim Einschalten gesetzt und steuert den Betrieb der ALI 14.
- Die Schaltung von Fig. 2 enthält einen Haupteingangsblock 30, der einen 8-Bit-Datenstrom mit bis zu 50 MHz annimmt und ihn in 32-Bit-Daten umwandelt, die in FIFOs gespeichert werden sollen. Der Haupteingangsblock 30 korrigiert außerdem etwaige Einzelbitfehler in dem ATM-Header und setzt Flags für Mehrfachbitfehler. Er steuert außerdem den Ablauf der Funktionsweise eines CAM 32, eines RAM 34 und einer Überwachungseinheit 36. Er steuert außerdem das Schreiben von Informationen in einen Hauptausgangs-FIFO 38 und einen lokalen Ausgangs- FIFO 40.
- Der lokale Ausgangs-FIFO 40 ist ein Puffer, der zwei 56-Byte- Zellen hält, der durch den Haupteingangsblock 30 beschrieben und durch ein lokales Interface 42 gelesen wird. Der Hauptausgangs-FIFO 38 hält acht Zellen für jede von vier Prioritäten. Er wird von dem Haupteingangsblock 30 beschrieben und von einem Hauptausgangsblock 44 gelesen. Ein lokaler Eingangs-FIFO 46 hält zwei Zellen für jede von vier Prioritäten. Er wird von dem lokalen Interface 42 beschrieben und von dem Hauptausgangsblock 44 gelesen.
- Der CAM 32 weist in diesem Beispiel der Erfindung 1024 Einträge auf, einen für jede virtuelle Schaltung, die in der ALI 14 verarbeitet wird. Jeder Eintrag umfasst ein 32-Bit-Header- Muster und ein 1-Bit-Aktiv-Kanal-Flag. Ein 32-Header- Vergleichs-Maskenregister (siehe Fig. 3) wählt, welche Bit eines ankommenden Headers verwendet werden, um nach einer Übereinstimmung unter aktiven CAM-Einträgen zu suchen. Das maskierte Header-Muster darf mit höchstens einem Eintrag in dem CAM 32 übereinstimmen. Eine gültige Übereinstimmung erzeugt ein 10-Bit-Adresssignal auf der Leitung 48, die auf eine Speicherstelle in dem RAM 34 zeigt, die einen Parameterblock enthält, der mit dem ATM-Header zusammenhängt, der verwendet wurde, um in dem CAM 32 nach einer Übereinstimmung zu suchen. Wenn keine Übereinstimmung gefunden wird, wird eine Vorgabe-RAM-Adresse erzeugt. Alle 1024 Kanalflags können gleichzeitig aus dem lokalen Eingangs/Ausgangs-Block 42 deaktiviert werden.
- Der RAM 34 enthält in diesem Beispiel der Erfindung 1024 Einträge, und zwar einen Eintrag für jede Darstellung einer virtuellen Schaltung, die in dem CAM 32 gespeichert ist. Jeder Eintrag in dem Rahmen 34 umfasst 128 Bit, die jeweils folgendes umfassen:
- 1. Einen 32-Bit-ATM-Ersatz-Header;
- 2. Einen neuen lokalen 32-Bit-Routing-Header;
- 3. 15 Bit Überwachungsparameter, die eine Bucket-Größe und eine Leak-Rate angeben;
- 4. 27 Bit Überwachungszustandsinformationen, darunter ein Maß des Bucket-Inhalts und mindestens einen Zeitstempelparameter;
- 5. 2 Bit, die einen Überwachungsmodus darstellen;
- 6. einen 16-Bit-Zellenzählparameter;
- 7. Ein 2-Bit-Prioritätsfeld; und
- 8. Ein 2-Bit-Routing-Feld.
- Der ATM-Ersatz-Header in dem oben aufgelisteten Parameterblock, der ankommende ATM-Zellen-Header und ein 32-Bit- Header-Ersatzmaskenregister werden verwendet, um einen neuen ATM-Header zu erzeugen, der in den lokalen Ausgangs-FIFO 40 oder den Hauptausgangs-FIFO 38, je nach Fall, zusammen mit dem dem neuen ATM-Header zugeordneten Nutzsignal gebracht wird. Ein neuer lokaler Routing-Header kann zu einer Zelle in dem Hauptausgangs-FIFO 38 hinzugefügt werden.
- Die Überwachungsparameter und die Überwachungszustandsinformationen in dem oben aufgelisteten Parameterblock werden von der Überwachungseinheit 36 verwendet, um Verletzungen der Netzwerknutzungsparameter zu erkennen und die Überwachungszustandsinformationen zu aktualisieren. Die Überwachungseinheit 36 arbeitet in einer von drei Betriebsarten. Der Überwachungsmodus bestimmt, ob eine ATM-Zelle, die die Nutzungsparameter in dem Parameterblock verletzt, fallengelassen, zu dem lokalen Eingangs/Ausgangs-Interface 42 geleitet oder als fallenlassbar markiert wird. Der Zellenzählwert in dem oben aufgelisteten Parameterblock verfolgt, wie viele ATM-Zellen für jede virtuelle Leitung nicht fallengelassen wurden. Der Zellenzählwert kann in den Header von ATM-Zellen eingefügt werden, die zu dem lokalen Eingangs/Ausgangs-Interface 42 geleitet werden. Die Prioritäts- und Routinginformationen in dem Parameterblock werden von dem Haupteingangsblock 30 verwendet, um die ankommende ATM-Zelle in den ordnungsgemäßen FIFO 38 oder 40 zu bringen.
- Die Überwachungseinheit 36 implementiert eine Leaky-Bucket- Prozedur bzw. einen Leaky-Bucket-Algorithmus, um sicherzustellen, dass virtuelle Schaltungen ihre zugeteilte Bandbreite oder den beim Verbindungsaufbau ausgehandelten Diskontinuitätspegel nicht überschreiten. Diese Leaky-Bucket-Prozedur wird auf jede virtuelle Schaltung angewandt, während eine ATM-Zelle für diese virtuelle Schaltung ankommt. Sie führt dies außerdem einmal nach jeweils 1024 ATM-Zellenperioden durch, um zu verhindern, dass die Zustandsinformationen überlaufen. Wenn das Hauptausgangs-FIFO 38 für die Priorität der ankommenden ATM-Zelle voll ist, kann diese Zelle zu dem lokalen Eingangs-/Ausgangs-Interface 42 geleitet werden, oder die ATM-Zelle kann durch Nichtbestätigen der ankommenden Zelle flussgesteuert werden.
- Die prinzipielle Funktion des Hauptausgangsblocks 44 besteht darin, eine ATM-Zelle zur Ausgabe aus den FIFOs 38 und 46 zu wählen. Die ATM-Zelle wird aus einer von vier Prioritäten ausgewählt, die von dem Hauptausgangs-FIFO 38 oder dem lokalen Eingangs-FIFO 46 behandelt werden. Eine leere Zelle kann gewählt werden, wenn beide FIFOs 38 und 46 leer sind. Der Hauptausgangsblock 44 berechnet ein ATM-Header-Fehlerkorrekturbyte (HEC) und fügt es der ausgehenden ATM-Zelle hinzu. Er setzt außerdem die 32-Bit-Daten in 8-Bit- Ausgangsdaten auf dem ATM-Vermittlungseingang 17 mit Raten von zum Beispiel bis zu 50 MHz um. Die tatsächliche Rate wird durch einen externen Takt bestimmt, der mit dem Hauptausgangsblock 44 verbunden ist.
- Der lokale Eingangs-/Ausgangs-Interface-Block 42 stellt ein Interface für einen lokalen Steuerprozessor S0 bereit. Durch dieses Interface 42 können das Programmregister 29, der CAM 32, der RAM 34 und Maskenregister beschrieben oder gelesen werden. Zusätzlich kann eine Zelle aus dem lokalen Ausgangs- FIFO 40 gelesen werden, und eine Zelle kann in eine der vier Prioritäten in dem lokalen Eingangs-FIFO 46 geschrieben werden.
- Die Operationen der in Fig. 2 gezeigten ALI 14 werden nachfolgend ausführlicher beschrieben. Die Operationen der anderen ALIs, die in Fig. 1 gezeigt sind, sind ähnlich. Die in Fig. 2 gezeigte ALI 14 identifiziert zunächst jede ankommende ATM-Zelle durch Untersuchen der relevanten Teile des ATM- Zellen-Headers, nämlich des Feldes für die Kennung für den virtuellen Pfad (VPI-Feld) und des Feldes für die Kennung für den virtuellen Kanal (VCI). Diese Identifikation wird verwendet, um einen entsprechenden, in dem RAM 34 gespeicherten Parameterblock aus in diesem Beispiel der Erfindung 1024 Einträgen in dem RAM 34 auszuwählen. Die Parameter in einem solchen Block definieren, wie die ATM-Zelle in der ALI 14 verarbeitet werden soll. Ein beispielhafter Parameterblock ist oben aufgelistet. Es kann jede beliebige Kombination der 32 Bit aus dem ATM-Header (ausschließlich HEC) verwendet werden, um eine ATM-Zelle zu identifizieren. Die Bit, die tatsächlich verwendet werden, um eine Zelle zu identifizieren, werden durch ein in Fig. 3 gezeigtes Maskenregister 52 definiert, das sich in dem CAM 32 oder an einer anderen zweckmäßigen Stelle zwischen dem ATM-Header und dem Eingang des CAM 32 befinden kann. Dieses Maskenregister 52 wird in bezug auf eine ankommende ATM-Zelle verwendet, um einen Nachschlag in dem CAM 32 durchzuführen, der Header für Bestimmte der Verbindungen enthält. Das Maskenregister 52 ist so konfiguriert, dass Bestimmte der Bit in dem ATM-Header maskiert und nicht für die Suche nach einer Übereinstimmung verwendet werden. Diese Bit entsprechen den schattierten Bereichen in dem Maskenregister 52 (siehe Fig. 3). Die unschattierten Bereiche in dem Maskenregister 52 entsprechen im voraus gewählten Bit in dem ATM-Header, die verwendet werden, um nach einer Übereinstimmung in den Inhalten des CAM 32 zu suchen. Die Header- Bit, die den schattierten Bereichen in dem Maskenregister 52 entsprechen, werden bei der Suche nach einer Übereinstimmung ignoriert. Es kann unter Verwendung der Kennungsbit für den virtuellen Pfad, der Kennungsbit für den virtuellen Kanal oder einer beliebigen Kombination dieser Bit in dem ATM-Header nach Übereinstimmungen gesucht werden. Außerdem ist es möglich, die Bit des Nutzsignal-Typs (payload type = PTI) oder der Zellenverlustpriorität (cell loss priority = CLP) zu verwenden, um in den Inhalten des CAM 32 nach einer Übereinstimmung zu suchen. Ein Nachschlagen in dem CAM 32 führt zu einem Adresssignal auf der Leitung 48 zwischen 0 und 1022, wenn eine Übereinstimmung gefunden wurde. Wenn keine Übereinstimmung vorliegt, wird ein Adresssignal auf der Leitung 48 von 1023 erzeugt. Das Adresssignal auf der Leitung 48 wird als ein Zeiger auf einen in dem RAM 34 gespeicherten Parameterblock 54 verwendet.
- Zusätzlich zu der ATM-Zellenidentifikation modifiziert die ALI 14 außerdem die Header von ATM-Zellen, die durch die ALI 14 fließen. Es können zwei verschiedene Modifikationen an jeder ATM-Zelle durchgeführt werden. Eine solche Modifikation ist eine Änderung eines lokalen Headers, und die andere Modifikation ist eine Änderung des Standard-ATM-Headers selbst.
- Jede ATM-Zelle wird als einen ihr zugeordneten lokalen Header aufweisend behandelt. Eine ATM-Zelle, die in ein Eingangs-ALI eintritt, wie zum Beispiel eine ATM-Zelle, die aus der Strecke 11 in die ALI 14 eintritt, weist einen lokalen Header der Länge Null auf. Die ATM-Zellen, die eine Eingangs-ALI, wie zum Beispiel die ALI 14, verlassen und über einen Vermittlungseingang, wie zum Beispiel den Vermittlungseingang 17, in die ATM-Vermittlung 10 eintreten, weisen einen lokalen Header einer Länge von zwischen einem und vier Byte auf. Die in eine Ausgangs-ALI eintretenden ATM-Zellen, wie zum Beispiel eine ATM-Zelle, die in die ALI 23 in Fig. 1 über den Vermittlungsausgang 20 aus der ATM-Vermittlung 10 eintritt, können einen lokalen Header mit einer Länge von null bis vier Byte aufweisen. (Der lokale Header könnte in der ATM-Vermittlung 10 modifiziert werden.) Ein ATM-Zellen-Header, der aus einer Ausgangs-ALI, wie zum Beispiel der ALI 23, austritt und eine Strecke, wie zum Beispiel die Strecke 26, verlässt, weist einen lokalen Header der Länge Null auf. Der lokale Header, der einer ATM-Zelle zugeordnet ist, wird durch einen neuen lokalen Header ersetzt oder vollständig entfernt. Das Entfernen eines lokalen Headers erfolgt durch Ersetzen des Headers durch einen lokalen Header der Länge Null. Das Hinzufügen eines lokalen Headers wird erzielt durch Ersetzen eines lokalen Headers der Länge Null mit einem lokalen Header einer vorbestimmten, von Null verschiedenen Länge.
- Bezüglich der Modifikation des ATM-Headers selbst, modifiziert die ALI 14 den Header für jede Zelle mit einer in dem CAM 32 gespeicherten Header-übereinstimmung. Ein separates Veränderungsmaskenregister 56, das sich in einer Veränderungsschaltung 58 (siehe Fig. 4) befindet, erzielt eine Ersetzung ausgewählter Bit dieser ATM-Header. Die Veränderungsschaltung 58 kann sich zum Beispiel in dem in Fig. 2 gezeigten Haupteingangsblock 30 befinden. Die Veränderungsschaltung 58 empfängt einen alten Header 60, der aus einer ATM-Zelle gewonnen wird, die durch die ALI 14 empfangen wird, und einen Ersatz-Header 62, der aus dem Parameterblock 54 gewonnen wird, der aus dem RAM 34 abgerufen wird. Das Veränderungsmaskenregister 56 weist zum Beispiel zweiunddreißig Bit auf, entsprechend den zweiunddreißig Bit in einem ATM-Header. Das Maskenregister 56 besitzt außerdem eine Kennzeichnung, wie zum Beispiel ein Bit, die an Speicherstellen gespeichert wird, die den Speicherstellen in dem Ersatz-Header entsprechen, die in entsprechende Stellen in einem neuen Header 64 kopiert werden sollen. Das Maskenregister 56 weist eine Kennzeichnung, wie zum Beispiel ein Null-Bit, auf, die an Stellen gespeichert wird, die Speicherstellen in dem alten Header entsprechen, die in entsprechende Stellen in dem neuen Header 64 kopiert werden sollen. Das Maskenregister 56 definiert dadurch die Bit des alten ATM-Headers, die ersetzt werden müssen. Die Bit des alten ATM-Headers, die nicht so durch das Maskenregister 56 definiert sind, werden unverändert gelassen.
- Jeder Parameterblock enthält zwei Routing-Flag-Bit, die definieren, wohin eine Zelle in der ALI 14 geleitet werden soll. Diese Bit definieren, ob die Zelle entweder zu dem Hauptausgangsblock 44 oder zu dem lokalen Eingangs-/Ausgangs- Interface 42 oder zu beiden geleitet werden soll. Wenn der Wert des dem Hauptausgang entsprechenden Bit zum Beispiel Eins ist, dann wird die Zelle in den Hauptausgangsblock 44 kopiert. Wenn der Wert des dem lokalen Eingangs-/Ausgangs- Interface entsprechenden Bit zum Beispiel Eins ist, dann wird die Zelle in das Interface 42 kopiert. Wenn in diesem Beispiel beide Hit Eins sind, dann kann die Zelle sowohl in das Interface 42 als auch in den Hauptausgangsblock 44 kopiert werden. Wenn die sowohl dem Hauptausgangsblock 44 als auch dem lokalen Eingangs-/Ausgangs-Interface 42 entsprechenden Bit Null sind, dann kann die Zelle fallengelassen werden. Somit kann die Zelle in einen oder beide der Ausgänge kopiert oder völlig fallengelassen werden.
- Ein Parameterblock enthält außerdem zwei Bit, die einen von vier möglichen Prioritätswerten einer Zelle angeben, für die eine Übereinstimmung gefunden wurde. Der Hauptausgangs-FIFO 38 besteht aus vier einzelnen FIFO-Puffern, entsprechend den vier Prioritätswerten. Eine Zelle, die zu dem Hauptausgangs- FIFO 38 gelenkt wird, wird in einem FIFO-Puffer gespeichert, der ihrer angegebenen Priorität entspricht. Zellen, die zu dem lokalen Eingangs/Ausgangs-Interface 42 gelenkt werden, werden jedoch in einem einzigen FIFO-Puffer in dem lokalen Ausgangs-FIFO 40 gespeichert. Es wird garantiert, dass eine Zelle in dem FIFO-Puffer 40 zu dem lokalen Steuerprozessor 50 geliefert wird, bevor die nächste Zelle ankommt, so dass mehrere Prioritäten in dem FIFO 40 unnötig sind.
- In dem lokalen Interface 42 befindet sich nur ein FIFO. Zellen werden in 14 Wörtern von jeweils 32 Bit zu dem lokalen Steuerprozessor 50 geliefert. Das erste Wort enthält eine 10- Bit-CAM-Adresse, bei der eine Übereinstimmung für diese ATM- Zelle gefunden wurde. Diese stimmt mit dem Signal auf der Leitung 48 überein, das in den RAM 34 eingegeben wird, wenn eine Übereinstimmung gefunden wird. Dieser Wert kann direkt als ein Zeiger auf bestimmte Daten oder einen bestimmten Code verwendet werden, die/der in dem Steuerprozessor 50, der der Zelle entspricht, gespeichert sind/ist. Dadurch vermeidet man zusätzliche Tabellennachschlagevorgänge in dem Prozessor 50. Das erste Wort eines Zellentransfers kann außerdem den aktuellen Wert des bereits erwähnten Zellenzählers in dem Parameterblock aus dem RAM 34 enthalten, der zu diesem virtuellen Kanal und virtuellen Pfad gehört. Das nächste Wort enthält den ATM-Header für diese Zelle ohne HEC-Bit, und die letzten zwölf Wörter enthalten das Nutzsignal.
- Wenn keine Übereinstimmung in dem CAM 32 gefunden wird, wird auf der Leitung 48 ein Adresssignal 1023 erzeugt, und ein Parameterblock, der zwei Routing-Bit enthält, wird aus dem RAM 34 gelesen, wodurch zum Beispiel angezeigt wird, dass diese ATM-Zelle zu dem Interface 42 geleitet werden soll, um durch den lokalen Steuerprozessor 50 verarbeitet zu werden. Diejenigen Zellen ohne Übereinstimmung in dem CAM 32 könnten in entsprechenden Fällen auch fallengelassen werden.
- Bei B-ISDN müssen die Netzwerknutzungsparameter, wie zum Beispiel Spitzenbandbreite und maximale Diskontinuitätslänge, in der Einrichtzeit für jede neue Verbindung ausgehandelt werden. Während der Kommunikation müssen diese Kenngrößen überwacht und bestimmte Maßnahmen getroffen werden, wenn der Kommunikationsverkehr in einer Verbindung die dieser Verbindung zugeordneten ausgehandelten Parameter verletzt. Wie oben beschrieben, können drei mögliche Maßnahmen von einer ALI gemäß der vorliegenden Erfindung als Reaktion auf eine Verkehrsverletzung getroffen werden, nämlich: Fallenlassen der verletzenden Zellen, Markieren der verletzenden Zellen als fallenlassbar (d. h. Setzen des CLP-Bit auf Eins) und Leiten jeder nachfolgenden Zelle dieser Verbindung zu dem lokalen Interface 42. Wenn Zellen zu dem lokalen Interface 42 geleitet werden, können sie dann gepuffert werden, und der Verkehr kann durch erneutes Einfügen dieser Zellen mit einer entsprechenden Rate in den Zellstrom umgeformt werden, so dass die Kommunikation den ausgehandelten Nutzungsparametern genügt.
- Die Überwachungsfunktion der ALI 14 basiert auf einer Leaky- Bucket-Prozedur, die effektiv bestimmt, ob eine Zelle bewirkt, dass eine Kommunikation die ausgehandelten Nutzungsparameter überschreitet. Die Leaky-Bucket-Prozedur verwendet eine Anzahl von Parametern, darunter einen "Leak-Rate"- Parameter und einen "Bucket-Size"-Parameter. Der "Leak-Rate"- Parameter betrifft die Spitzenbandbreite, die zum Zeitpunkt der Herstellung der Verbindung ausgehandelt wird. Der "Bucket-Size"-Parameter bestimmt die maximal zulässige Diskontinuitätslänge mit der Leitungsrate. Zusätzlich verwendet die Leaky-Bucket-Prozedur zwei Zeitsteuerungsparameter, einen "Actual-Time"-Parameter und einen "Last"-Parameter. "Actual Time" ist ein Zeitstempel, der den Zeitpunkt darstellt, an dem eine Zelle für einen bestimmten virtuellen Pfad und virtuellen Kanal empfangen wird. "Last" ist ein anderer Zeitstempel, der den Zeitpunkt benennt, zu dem eine unmittelbar vorausgehende Zelle für diesen bestimmten virtuellen Pfad und virtuellen Kanal empfangen wurde. Die Prozedur verwendet auch einen weiteren Parameter namens "Current", der den aktuellen Pegel an Zellen in dem Bucket anzeigt.
- Jedes Mal, wenn eine Zelle für einen gegebenen virtuellen Pfad und eine gegebene virtuelle Schaltung empfangen wird, wird für diesen Pfad die folgende Operation durchgeführt:
- current = current + 1 - [(actual time-last)·rate]
- Die "Current"-Variable kann einen beliebigen Wert von Null bis zu dem Wert des "Bucket-Size"-Parameters aufweisen. Wenn die "Current"-Variable die "Bucket-Size"-Variable übersteigt, hat eine Verletzung eines Netzwerknutzungsparameters, wie zum Beispiel der Spitzenbandbreite oder des Diskontinuitätsgrads, für diese Verbindung, der zur Einrichtzeit ausgehandelt wurde, stattgefunden: Die Erhöhung von +1, die in der obigen Gleichung angegeben wird, ist auf das Hinzufügen der Zelle zurückzuführen, die gerade angekommen ist. "(Actual timelast)*rate" ist die Gesamtverringerung gleich der Leak-Rate multipliziert mit der Zeitdauer, die seit der letzten Bucket- Pegel-Aktualisierung abgelaufen ist.
- Da "Last" in diesem Beispiel der Erfindung mit 10 Bit kodiert wird, muss eine Aktualisierung des Bucket-Pegels mindestens einmal alle 1024 Zellenperioden erfolgen, um zu verhindern, dass "(actual time-last)" mehrdeutig wird. Diese Aktualisierungsoperation lautet folgendermaßen:
- current = current - (ActualTime - last)*rate, mit current ≥ 0
- Es wird eine Aktualisierungsoperation pro Zellenperiode durchgeführt. Somit sind nach 1024 Zellenperioden alle Verbindungsvariablen aktualisiert.
- Es kann eine Menge vorbestimmter Leak-Raten geben, aus der gewählt werden kann. Zum Beispiel kann es 32 mögliche Leak- Raten geben, die Maximalrate und Dreiviertel der Maximalrate, jeweils dividiert durch 2n, wobei "n" zwischen 0 und 15 liegen kann. Die Maximalrate kann zum Beispiel 155 Mb/s oder ein Vielfaches dieser Rate betragen.
- Jeder Parameterblock enthält einen 15-Bit-Zähler, dessen Inhalt statistische Informationen über einen jeweiligen virtuellen Pfad und eine virtuelle Leitung, die in dem CAM gespeichert sind, darstellt. Diese Zähler werden jedes Mal erhöht, wenn eine Zelle für eine jeweilige virtuelle Leitung und einen jeweiligen virtuellen Pfad empfangen und nicht wegen der Überwachung fallengelassen wird. Der Wert eines Zählers kann an jede zu dem lokalen Interface 42 übertragene Zelle angehängt werden. Diese Informationen sind nützlich für Netzwerkmanagementzwecke.
- Zum Beispiel kann durch Verwenden des Nutzsignal-Typ-Felds (PTI, 3 Bit) der ATM-Zellen ein zusätzliches Routen erfolgen. Ein Wert des PTI-Felds kann definiert werden, was dazu führt, dass eine Kopie seiner jeweiligen Zelle (einer Markierungszelle) zu dem lokalen Interface 42 gesendet wird. Wenn dieser Wert zum Beispiel auf den Wert von F5 Ende-zu-Ende-OAM-Zellen (PTI = 101) gesetzt wird, wird jedes Mal, wenn eine dieser Markierungszellen von einem Endpunkt zu dem anderen Endpunkt einer Verbindung gesendet wird, in jeder ALI, die die Zelle durchläuft, eine Kopie der Zelle hergestellt. Zusammen mit der Kopie der Zelle wird außerdem der Zellenzählerwert für diese Verbindung zu dem lokalen Interface gesendet. Diese Zählerwerte entlang dem Weg der Kommunikation können dann verglichen werden, um zu bestimmen, wie viele Zellen auf jeder Strecke verlorengegangen sind. Die Speicherstellen der Zähler mit verschiedenen Werten zeigen an, wo Verluste aufgetreten sind, und ob diese Verluste wegen der Überwachung und Übertragungsfehlern oder wegen einer Blockierung in den Vermittlungen aufgetreten sind, abhängig davon, wo sich Zählerwerte unterscheiden. Ein Zellenverlust aufgrund der Überwachung in einer ALI kann von einem Zellenverlust aufgrund von Übertragungsfehlern auf einer Strecke unterschieden werden, indem ein separater Zähler erhöht wird, wenn Zellen wegen Überwachungsverletzungen, die von einer ALI erkannt werden, fallengelassen werden.
- ATM-Zellen können in den ATM-Zellenstrom eingefügt werden, der zwischen dem Haupteingang 30 und dem Hauptausgang 44 in der ALI 14 fließt. Diese ATM-Zellen, die in diesen Zellenstrom eingefügt werden sollen, können an dem lokalen Interface 42 der ALI 14 vorgelegt werden. Diese Zellen können in einen von vier FIFO-Puffern in dem lokalen Eingangs-FIFO 46 geleitet werden, abhängig von dem Prioritätswert dieser Zellen. Eine Arbitrierungslogik in dem Hauptausgangsblock 44 wählt einen FIFO-Puffer aus den vier FIFO-Puffern in dem Hauptausgangs-FIFO 38 und vier FIFO-Puffer in dem lokalen Eingangs-FIFO 46 aus und entnimmt eine Zelle zur Übertragung auf dem Hauptausgang 17.
- Die folgenden Parameter können global für einen ALI-Chip gesetzt werden:
- - die Länge der 1-Header am Haupteingang (0-4 Byte);
- - die Länge der 1-Header am Hauptausgang (0-4 Byte);
- - die Eigenschaften der Identifikationsmaske, die die ATM- Header-Bit wählen, mit denen in dem CAM 32 nach einer Übereinstimmung gesucht wird.
- - die Eigenschaften der Veränderungsmasken, die die Bit der ATM-Header wählen, die ersetzt werden müssen;
- - ob die Überwachung aktiviert oder deaktiviert ist;
- - ob die Erzeugung leerer Zellen, wenn keine Zellen am Hauptausgang verfügbar sind, aktiviert oder deaktiviert ist; und
- - der Wert des Felds des Nutzsignal-Typs (PTI) von Zellen, die immer in das lokale Interface 42 kopiert werden müssen.
- Fig. 5 und 6 zeigen zwei Ausführungsbeispiele dafür, wie eine ALI, wie die in Fig. 1 und 2 gezeigten, in einem Benutzer- Netzwerk-Interface bzw. einem Netzwerkknoten-Interface verwendet werden kann. Auf die ALIs wird für die Programmierung und den Datentransfer durch ihre jeweiligen lokalen Interfaces 42 zugegriffen. Für hohe Effizienz sollte ein eigener Host-Interface-Chip (HI-Chip) verwendet werden, um Zellen direkt zwischen einem RAM und der ALI zu übermitteln, ohne einen Prozessor zu unterbrechen.
- Die Struktur eines Benutzer-Netzwerk-Interfaces (UNI), das eine ALI 65 gemäß der vorliegenden Erfindung, ein Host- Interface 66 und einen lokalen RAM 68 enthält, ist in Fig. 5 gezeigt. Die in Figur S gezeigte Vorrichtung kann eine in die Workstation eines Benutzers eingesteckte Karte sein.
- Die Struktur eines Netzwerkknoten-Interfaces ist in Fig. 6 gezeigt. Das NNI von Fig. 6 umfasst die ALI 14 und die ALI 23 von Fig. 1. Das NNI umfasst außerdem ihren eigenen Mikroprozessor 70, der eigentlich derselbe ist wie der in Fig. 2 gezeigte Steuerprozessor 50. Schließlich umfasst das NNI ein Host-Interface 72 und einen RAM 74. Das NNI kombiniert eine ankommende ATM-Strecke 11, eine abgehende ATM-Strecke 26, einen Eingang 17 in die ATM-Vermittlung 10 und einen Ausgang 20 aus der ATM-Vermittlung 10. Das NNI kann über die ATM- Strecken 11 und 26 mit einem Benutzer oder einem anderen NNI kommunizieren. Unter Verwendung des Eingangs 17 und des Ausgangs 20 der ATM-Vermittlung kann das NNI mit den anderen NNIs, die mit der ATM-Vermittlung verbunden sind, kommunizieren. Die Steuerung und das Management der Vermittlung können somit vollständig unter den NNIs, die mit der ATM-Vermittlung verbunden sind, verteilt werden.
- Es wird eine Interface-Schaltung beschrieben, die mehrere grundlegende Operationen durchführt, die beim Aufbau eines intelligenten Netzwerkknoten-Interfaces oder eines Benutzer- Netzwerk-Interfaces nützlich sind. Zu diesen Funktionen gehört das Modifizieren eines Paket-Headers, das Hinzufügen oder Entfernen lokaler Header-Routing-Kennzeichnungen, das Erkennen von und Reagieren auf Verletzungen der Netzwerknutzungsparameter, das Einfügen und Entfernen von Paketen aus einem Strom von Paketen und das Sammeln statistischer Informationen. Die Interface-Schaltung verwendet ein Maskenregister in Verbindung mit einem Assoziativspeicher, um Verbindungen zu identifizieren, zu denen Pakete gehören, wobei beliebige Kombinationen von Bit in einem Paket-Header, wie zum Beispiel dem 32-Bit-ATM-Header, ermöglicht werden, um eine virtuelle Schaltung zu identifizieren, zu der ein Paket gehört. Dieser Ansatz ist flexibel und ermöglicht eine Anpassung an sich entwickelnde Standards, wie zum Beispiel die Standards des asynchronen Transfermodus (ATM).
- In dem lokalen Interface der Interface-Schaltung wird Paketen einer bestimmten Verbindung, die zu einem lokalen Prozessor geleitet werden, eine Kanalnummer zugeordnet. Der lokale Prozessor kann diese Kanalnummer als einen Index auf Daten oder einen Code, die/der dem Paket zugeordnet sind/ist, verwenden, anstatt einen weiteren Nachschlag in einer Tabelle von Headern durchzuführen. Die Interface-Schaltung kann mit einer Host-Interface-Schaltung bei der Implementierung eines Benutzer-Netzwerk-Interfaces oder eines Netzwerkknoten-Interfaces verwendet werden. Durch intelligente Netzwerkknoten- Interfaces wird es möglich, dass Paketvermittlungen, wie zum Beispiel ATM-Paketvermittlungen, eine völlig verteilte Steuerung aufweisen, wodurch sie eine maximale Verarbeitungsleistung pro Strecke erhalten.
Claims (19)
1. Ein Paketnetzwerk-Interface, das aufweist:
einen Eingang (11) zum Empfangen von Paketen in das
Interface;
einen Ausgang (17) zum Leiten der empfangenen Pakete aus dem
Interface; und
gekennzeichnet durch:
einen inhaltsadressierbaren Speicher (32) der auf einen
auswählbaren und vorbestimmten Teil eines jeden empfangenen
Paketes zum Erzeugen eines Adresssignals reagiert;
einen Direktzugriffsspeicher (34), der auf das Adresssignal
zum Erzeugen wenigstens eines Parameters, der sich auf jedes
empfangene Paket bezieht, reagiert; und
einprogrammierbares Auswahlelement (52) das dazu ausgebildet
ist, den auswählbaren und vorbestimmten Teil jedes
empfangenen Paketes, auf welchen der inhaltsadressierbare Speicher
reagiert, zu ändern.
2. Interface nach Anspruch 1, bei welchem der Parameter einen
neuen Header für das Paket umfasst.
3. Interface nach Anspruch 1, bei welchem der Parameter
einen lokalen Header für das Paket umfasst.
4. Interface nach Anspruch 1, bei welchem der vorbestimmte
Teil eines Paketes einen Header-Abschnitt des Paketes
umfasst.
5. Interface nach Anspruch 4, bei welchem der vorbestimmte
Teil des Pakets eine Kennung für einen virtuellen Pfad in dem
Header-Abschnitts des Paketes umfasst.
6. Interface nach Anspruch 5, bei welchem der vorbestimmte
Teil des Paketes auch eine Kennung für einen virtuellen Kanal
in dem Header-Abschnitt des Pakets umfasst.
7. Interface nach Anspruch 6, bei welchem der Parameter eine
neue Kennung für einen virtuellen Kanal und eine neue Kennung
für einen virtuellen Pfad umfasst, die die Kennung für den
virtuellen Pfad und die Kennung für den virtuellen Kanal in
dem Header-Abschnitt des Paketes ersetzt.
8. Interface nach Anspruch 1, bei welchem der Parameter einen
Netzwerknutzungsparameter enthält.
9. Interface nach Anspruch 8, bei welchem der
Nutzungsparameter einen Bandbreitennutzungsparameter umfasst.
10. Interface nach Anspruch 8, bei welchem der
Nutzungsparameter ein einen Diskontinuitätsparameter umfasst.
11. Interface nach Anspruch 8, das eine Einrichtung aufweist,
die ermittelt, ob eine Verletzung eines
Netzwerknutzungsparameters aufgetreten ist.
12. Interface nach Anspruch 11, bei welchem die
Ermittlungseinrichtung eine Einrichtung zum Bewirken eines "Leaky
Bucket"-Prozesses aufweist.
13. Interface nach Anspruch 11, das eine Einrichtung zum
Verwerfen des Paketes als Reaktion auf die Verletzung eines
Netzwerknutzungsparameters aufweist.
14. Interface nach Anspruch 11, das eine Einrichtung zum
Markieren des Pakets als verwertbar als Reaktion auf die
Verletzung des Netzwerknutzungsparameters aufweist.
15. Interface nach Anspruch 11, das eine Einrichtung zum
Umformen des von dem Interface ausgegebenen Verkehrs als
Reaktion auf die Verletzung des Netzwerknutzungsparameters
aufweist.
16. Interface nach Anspruch 1, das eine Einrichtung zum
Verändern des vorbestimmten Teiles des Pakets als Reaktion auf
den Parameter aufweist.
17. Interface nach Anspruch 16, bei welchem die
Veränderungseinrichtung eine Veränderungsmaske umfasst.
18. Interface nach Anspruch 1, das eine Einrichtung zum
Auswählen eines vorbestimmten Abschnittes des Paketes aufweist,
um eine Übereinstimmung in dem inhaltsadressierbaren Speicher
zu ermitteln.
19. Interface nach Anspruch 18, bei welchem die
Auswahleinrichtung eine Identifizierungsmaske ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US98542592A | 1992-12-04 | 1992-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69330904D1 DE69330904D1 (de) | 2001-11-15 |
DE69330904T2 true DE69330904T2 (de) | 2002-06-20 |
Family
ID=25531482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69330904T Expired - Lifetime DE69330904T2 (de) | 1992-12-04 | 1993-11-26 | Paketnetz-Schnittstelle |
Country Status (5)
Country | Link |
---|---|
US (2) | US5898689A (de) |
EP (1) | EP0600683B1 (de) |
JP (1) | JP3078439B2 (de) |
CA (1) | CA2110653C (de) |
DE (1) | DE69330904T2 (de) |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5487061A (en) * | 1994-06-27 | 1996-01-23 | Loral Fairchild Corporation | System and method for providing multiple loss and service priorities |
US5745488A (en) * | 1996-04-29 | 1998-04-28 | Motorola, Inc. | Method and apparatus for detection of packet types in a communications network |
NO304960B1 (no) * | 1996-06-12 | 1999-03-08 | Ericsson Telefon Ab L M | FremgangsmÕte for unders°kelse av trafikkanalyse, spesielt i ATM (Asyncronous Transfer Mode) nett |
DE19629765A1 (de) * | 1996-07-23 | 1998-01-29 | Siemens Ag | Verfahren zur Adreßreduktion in ATM-Vermittlungssystemen |
US5956336A (en) * | 1996-09-27 | 1999-09-21 | Motorola, Inc. | Apparatus and method for concurrent search content addressable memory circuit |
FR2759227B1 (fr) | 1997-02-04 | 1999-04-16 | Fihem | Procede pour associer des donnees a des cellules atm |
JP3445459B2 (ja) * | 1997-02-07 | 2003-09-08 | 沖電気工業株式会社 | セル組立装置 |
FI107691B (fi) | 1997-02-12 | 2001-09-14 | Nokia Networks Oy | Liikkuvuuden ja puhelunohjaustoimintojen kontrollointi ATM-ympäristössä |
US6236654B1 (en) | 1997-02-14 | 2001-05-22 | Advanced Micro Devices, Inc. | Method and apparatus for managing learning in an address table in memory |
EP0862348A1 (de) | 1997-02-28 | 1998-09-02 | Alcatel | Schnittstellenvorrichtung zur Extraktion von M Sätzen von Bits aus N Sätzen von Bits, mit Steuereinrichtung und logischer Zelle |
ATE224559T1 (de) * | 1997-02-28 | 2002-10-15 | Cit Alcatel | Schnittstellenvorrichtung zur ersetzung von m sätzen von bits aus n sätzen von bits, mit steuereinrichtung und logischer zelle |
JP3003779B2 (ja) * | 1997-06-24 | 2000-01-31 | 日本電気株式会社 | 通信システム |
US6269082B1 (en) * | 1997-07-07 | 2001-07-31 | Paradyne Corporation | System and method for multiplexing a frame relay virtual circuit and for performing non-disruptive diagnostics through a circuit using asynchronous transfer mode |
JP3801740B2 (ja) * | 1997-08-13 | 2006-07-26 | 富士通株式会社 | セル流量制御方法及びこれを用いるセル交換システム |
US6084877A (en) * | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Network switch port configured for generating an index key for a network switch routing table using a programmable hash function |
US6810040B1 (en) | 1997-12-22 | 2004-10-26 | Cisco Technology, Inc. | Method and apparatus for configuring network devices |
US6700890B1 (en) | 1997-12-22 | 2004-03-02 | Cisco Technology, Inc. | Method and apparatus for configuring permanent virtual connection (PVC) information stored on network devices in an ATM network logically configured with subnetworks |
US6490276B1 (en) * | 1998-06-29 | 2002-12-03 | Nortel Networks Limited | Stackable switch port collapse mechanism |
US6658002B1 (en) * | 1998-06-30 | 2003-12-02 | Cisco Technology, Inc. | Logical operation unit for packet processing |
AU4848799A (en) * | 1998-07-08 | 2000-02-01 | Broadcom Corporation | High performance self balancing low cost network switching architecture based ondistributed hierarchical shared memory |
US7707600B1 (en) * | 1998-08-21 | 2010-04-27 | Intel Corporation | Confirming video transmissions |
JP5113963B2 (ja) * | 1998-12-03 | 2013-01-09 | ノーテル・ネットワークス・リミテッド | インターネットにアクセスする加入者への所望のサービス・ポリシーの提供 |
US6466976B1 (en) | 1998-12-03 | 2002-10-15 | Nortel Networks Limited | System and method for providing desired service policies to subscribers accessing the internet |
US6633563B1 (en) | 1999-03-02 | 2003-10-14 | Nortel Networks Limited | Assigning cell data to one of several processors provided in a data switch |
FR2787267B1 (fr) * | 1998-12-14 | 2001-02-16 | France Telecom | Dispositif et procede de traitement d'une sequence de paquets d'information |
US6718382B1 (en) * | 1999-02-11 | 2004-04-06 | Yunzhou Li | Technique for detecting leaky points within a network protocol domain |
FR2790893B1 (fr) | 1999-03-12 | 2001-06-15 | St Microelectronics Sa | Dispositif d'association d'index a des adresses choisies parmi un nombre de valeurs plus grand que le nombre d'index disponibles |
US6639915B1 (en) * | 1999-04-07 | 2003-10-28 | Utstarcom, Inc. | Method and apparatus for transmission of voice data in a network structure |
GB2349717A (en) * | 1999-05-04 | 2000-11-08 | At & T Lab Cambridge Ltd | Low latency network |
JP2000341272A (ja) * | 1999-05-25 | 2000-12-08 | Fujitsu Ltd | Atm通信システム及びatm通信システムにおける輻輳状態検出方法並びにatm通信装置 |
US6647413B1 (en) * | 1999-05-28 | 2003-11-11 | Extreme Networks | Method and apparatus for measuring performance in packet-switched networks |
US6560610B1 (en) | 1999-08-10 | 2003-05-06 | Washington University | Data structure using a tree bitmap and method for rapid classification of data in a database |
US6526474B1 (en) | 1999-10-25 | 2003-02-25 | Cisco Technology, Inc. | Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes |
US7058728B1 (en) * | 1999-10-29 | 2006-06-06 | Nokia Corporation | Method and apparatus for initiating compression of headers of packets and refreshing the context related to the packets |
US7257328B2 (en) * | 1999-12-13 | 2007-08-14 | Finisar Corporation | System and method for transmitting data on return path of a cable television system |
US6388991B1 (en) | 1999-12-23 | 2002-05-14 | West Communications International Inc. | Method and system for interfacing between circuit network switches and ATM edge switches |
GB2362070B (en) * | 2000-05-05 | 2004-06-16 | Nokia Mobile Phones Ltd | Communication devices and method of communication |
US6725326B1 (en) | 2000-08-15 | 2004-04-20 | Cisco Technology, Inc. | Techniques for efficient memory management for longest prefix match problems |
KR100405840B1 (ko) * | 2000-10-27 | 2003-11-14 | 엘지전자 주식회사 | 비동기전송모드 교환기의 보드이중화 장치 및 그 제어방법 |
US6606681B1 (en) | 2001-02-23 | 2003-08-12 | Cisco Systems, Inc. | Optimized content addressable memory (CAM) |
US6862281B1 (en) | 2001-05-10 | 2005-03-01 | Cisco Technology, Inc. | L4 lookup implementation using efficient CAM organization |
US7002965B1 (en) * | 2001-05-21 | 2006-02-21 | Cisco Technology, Inc. | Method and apparatus for using ternary and binary content-addressable memory stages to classify packets |
US7260673B1 (en) | 2001-07-20 | 2007-08-21 | Cisco Technology, Inc. | Method and apparatus for verifying the integrity of a content-addressable memory result |
US7167471B2 (en) * | 2001-08-28 | 2007-01-23 | International Business Machines Corporation | Network processor with single interface supporting tree search engine and CAM |
US8213322B2 (en) * | 2001-09-24 | 2012-07-03 | Topside Research, Llc | Dynamically distributed weighted fair queuing |
US7362751B2 (en) | 2001-10-03 | 2008-04-22 | Topside Research, Llc | Variable length switch fabric |
US7065083B1 (en) | 2001-10-04 | 2006-06-20 | Cisco Technology, Inc. | Method and apparatus for dynamically generating lookup words for content-addressable memories |
US6775737B1 (en) | 2001-10-09 | 2004-08-10 | Cisco Technology, Inc. | Method and apparatus for allocating and using range identifiers as input values to content-addressable memories |
US20030088694A1 (en) * | 2001-11-02 | 2003-05-08 | Internet Machines Corporation | Multicasting method and switch |
US7203203B2 (en) * | 2001-12-05 | 2007-04-10 | Internet Machines Corp. | Message ring in a switching network |
US6715029B1 (en) | 2002-01-07 | 2004-03-30 | Cisco Technology, Inc. | Method and apparatus for possibly decreasing the number of associative memory entries by supplementing an associative memory result with discriminator bits from an original set of information |
US6970971B1 (en) * | 2002-01-08 | 2005-11-29 | Cisco Technology, Inc. | Method and apparatus for mapping prefixes and values of a hierarchical space to other representations |
US6961808B1 (en) | 2002-01-08 | 2005-11-01 | Cisco Technology, Inc. | Method and apparatus for implementing and using multiple virtual portions of physical associative memories |
US6967951B2 (en) * | 2002-01-11 | 2005-11-22 | Internet Machines Corp. | System for reordering sequenced based packets in a switching network |
US6871262B1 (en) | 2002-02-14 | 2005-03-22 | Cisco Technology, Inc. | Method and apparatus for matching a string with multiple lookups using a single associative memory |
US7135508B2 (en) * | 2002-02-20 | 2006-11-14 | The University Of Chicago | Coatings and films derived from clay/wax nanocomposites |
US6972978B1 (en) | 2002-03-15 | 2005-12-06 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices with block select and pipelined virtual sector look-up control and methods of operating same |
US6867991B1 (en) | 2003-07-03 | 2005-03-15 | Integrated Device Technology, Inc. | Content addressable memory devices with virtual partitioning and methods of operating the same |
US7320037B1 (en) | 2002-05-10 | 2008-01-15 | Altera Corporation | Method and apparatus for packet segmentation, enqueuing and queue servicing for multiple network processor architecture |
US7339943B1 (en) | 2002-05-10 | 2008-03-04 | Altera Corporation | Apparatus and method for queuing flow management between input, intermediate and output queues |
US7606248B1 (en) | 2002-05-10 | 2009-10-20 | Altera Corporation | Method and apparatus for using multiple network processors to achieve higher performance networking applications |
US20030214949A1 (en) * | 2002-05-16 | 2003-11-20 | Nadim Shaikli | System for reordering sequenced based packets in a switching network |
US7336669B1 (en) | 2002-05-20 | 2008-02-26 | Altera Corporation | Mechanism for distributing statistics across multiple elements |
US7593334B1 (en) * | 2002-05-20 | 2009-09-22 | Altera Corporation | Method of policing network traffic |
US7336660B2 (en) * | 2002-05-31 | 2008-02-26 | Cisco Technology, Inc. | Method and apparatus for processing packets based on information extracted from the packets and context indications such as but not limited to input interface characteristics |
US7299317B1 (en) | 2002-06-08 | 2007-11-20 | Cisco Technology, Inc. | Assigning prefixes to associative memory classes based on a value of a last bit of each prefix and their use including but not limited to locating a prefix and for maintaining a Patricia tree data structure |
US7558775B1 (en) | 2002-06-08 | 2009-07-07 | Cisco Technology, Inc. | Methods and apparatus for maintaining sets of ranges typically using an associative memory and for using these ranges to identify a matching range based on a query point or query range and to maintain sorted elements for use such as in providing priority queue operations |
US7313667B1 (en) | 2002-08-05 | 2007-12-25 | Cisco Technology, Inc. | Methods and apparatus for mapping fields of entries into new values and combining these mapped values into mapped entries for use in lookup operations such as for packet processing |
US7177978B2 (en) * | 2002-08-10 | 2007-02-13 | Cisco Technology, Inc. | Generating and merging lookup results to apply multiple features |
US7028136B1 (en) | 2002-08-10 | 2006-04-11 | Cisco Technology, Inc. | Managing idle time and performing lookup operations to adapt to refresh requirements or operational rates of the particular associative memory or other devices used to implement the system |
US7103708B2 (en) * | 2002-08-10 | 2006-09-05 | Cisco Technology, Inc. | Performing lookup operations using associative memories optionally including modifying a search key in generating a lookup word and possibly forcing a no-hit indication in response to matching a particular entry |
US7349382B2 (en) * | 2002-08-10 | 2008-03-25 | Cisco Technology, Inc. | Reverse path forwarding protection of packets using automated population of access control lists based on a forwarding information base |
US7065609B2 (en) * | 2002-08-10 | 2006-06-20 | Cisco Technology, Inc. | Performing lookup operations using associative memories optionally including selectively determining which associative memory blocks to use in identifying a result and possibly propagating error indications |
US7689485B2 (en) * | 2002-08-10 | 2010-03-30 | Cisco Technology, Inc. | Generating accounting data based on access control list entries |
AU2003265288B2 (en) * | 2002-08-10 | 2008-08-28 | Cisco Technology, Inc. | Associative memory with enhanced capabilities |
US7082492B2 (en) * | 2002-08-10 | 2006-07-25 | Cisco Technology, Inc. | Associative memory entries with force no-hit and priority indications of particular use in implementing policy maps in communication devices |
US7441074B1 (en) | 2002-08-10 | 2008-10-21 | Cisco Technology, Inc. | Methods and apparatus for distributing entries among lookup units and selectively enabling less than all of the lookup units when performing a lookup operation |
US6717946B1 (en) | 2002-10-31 | 2004-04-06 | Cisco Technology Inc. | Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory |
US7941605B1 (en) | 2002-11-01 | 2011-05-10 | Cisco Technology, Inc | Methods and apparatus for generating a result based on a lookup result from a lookup operation using an associative memory and processing based on a discriminator portion of a lookup word |
US20040098509A1 (en) * | 2002-11-14 | 2004-05-20 | Vic Alfano | System for reordering sequenced based packet segments in a switching network |
US7024515B1 (en) | 2002-11-15 | 2006-04-04 | Cisco Technology, Inc. | Methods and apparatus for performing continue actions using an associative memory which might be particularly useful for implementing access control list and quality of service features |
US7496035B1 (en) | 2003-01-31 | 2009-02-24 | Cisco Technology, Inc. | Methods and apparatus for defining flow types and instances thereof such as for identifying packets corresponding to instances of the flow types |
US7990987B2 (en) | 2003-02-25 | 2011-08-02 | Topside Research, Llc | Network processor having bypass capability |
US8190858B2 (en) * | 2003-02-25 | 2012-05-29 | Topside Research, Llc | Interface device for interfacing a main processor to processing engines and classifier engines, and methods for configuring and operating interface devices |
US20040190506A1 (en) * | 2003-03-24 | 2004-09-30 | International Business Machines Corp. | Method and apparatus for performing complex pattern matching in a data stream within a computer network |
US7421532B2 (en) * | 2003-11-18 | 2008-09-02 | Topside Research, Llc | Switching with transparent and non-transparent ports |
US7454552B2 (en) * | 2003-11-18 | 2008-11-18 | Topside Research, Llc | Switch with transparent and non-transparent ports |
US7539190B2 (en) * | 2004-01-05 | 2009-05-26 | Topside Research, Llc | Multicasting in a shared address space |
US7426602B2 (en) * | 2004-01-08 | 2008-09-16 | Topside Research, Llc | Switch for bus optimization |
US8320240B2 (en) * | 2004-11-30 | 2012-11-27 | Broadcom Corporation | Rate limiting and minimum and maximum shaping in a network device |
US20060187936A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Table searching techniques in a network device |
US8331380B2 (en) * | 2005-02-18 | 2012-12-11 | Broadcom Corporation | Bookkeeping memory use in a search engine of a network device |
US7606231B2 (en) | 2005-02-18 | 2009-10-20 | Broadcom Corporation | Pipeline architecture for a network device |
US20060187923A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Dynamic filter processor key generation based on packet type |
US7983291B2 (en) * | 2005-02-18 | 2011-07-19 | Broadcom Corporation | Flexible packet modification engine for a network device |
US8457131B2 (en) * | 2005-02-18 | 2013-06-04 | Broadcom Corporation | Dynamic table sharing of memory space within a network device |
US8228932B2 (en) * | 2005-02-18 | 2012-07-24 | Broadcom Corporation | Layout architecture for expandable network device |
US7529191B2 (en) * | 2005-02-18 | 2009-05-05 | Broadcom Corporation | Programmable metering behavior based on table lookup |
US20060203824A1 (en) * | 2005-02-18 | 2006-09-14 | Song-Huo Yu | Passing values through a memory management unit of a network device |
US20060187828A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Packet identifier for use in a network device |
US20060187917A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Pre-learning of values with later activation in a network device |
US20060187920A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Flexible packet modification engine |
US20060187924A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Ingress handling of data in a network device |
US20060187948A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Layer two and layer three virtual private network support in a network device |
US20060187832A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Filter based range check in a network device |
US7577096B2 (en) * | 2005-02-18 | 2009-08-18 | Broadcom Corporation | Timestamp metering and rollover protection in a network device |
US7953002B2 (en) * | 2005-11-10 | 2011-05-31 | Broadcom Corporation | Buffer management and flow control mechanism including packet-based dynamic thresholding |
US7953008B2 (en) * | 2005-11-10 | 2011-05-31 | Broadcom Corporation | Cell copy count hazard detection |
US7869411B2 (en) * | 2005-11-21 | 2011-01-11 | Broadcom Corporation | Compact packet operation device and method |
US20100057685A1 (en) * | 2008-09-02 | 2010-03-04 | Qimonda Ag | Information storage and retrieval system |
US9369409B2 (en) * | 2013-08-12 | 2016-06-14 | Nec Corporation | End-to-end hitless protection in packet switched networks |
CN111817393B (zh) * | 2020-07-17 | 2022-06-28 | 上海布鲁可积木科技有限公司 | 一种可配对件之间充电组网结构的充电与通信切换电路 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2524239A1 (fr) * | 1982-03-29 | 1983-09-30 | Telediffusion Fse | Equipement de mesure de voies numeriques multiplexees par paquet dans un signal notamment analogique |
US4827473A (en) * | 1985-09-30 | 1989-05-02 | Nec Corporation | Packet switching system |
US4769811A (en) * | 1986-12-31 | 1988-09-06 | American Telephone And Telegraph Company, At&T Bell Laboratories | Packet switching system arranged for congestion control |
JPH0290834A (ja) * | 1988-09-28 | 1990-03-30 | Hitachi Ltd | Atm通話路装置及びatm回線終端装置 |
US5058111A (en) * | 1989-06-19 | 1991-10-15 | Oki Electric Industry Co., Ltd. | Subscriber line interface circuit in a switching system |
US5313455A (en) * | 1990-04-23 | 1994-05-17 | Koninklijke Ptt Nederland N.V. | Transmission system with recording of untransmitted packets |
EP0470283B1 (de) * | 1990-08-08 | 1997-02-19 | Siemens Aktiengesellschaft | Verfahren und Schaltungsanordnung zum Ermitteln der Güte von über eine ATM-Vermittlungseinrichtung verlaufenden virtuellen Verbindungen |
CA2049428C (en) * | 1990-08-20 | 1996-06-18 | Yasuro Shobatake | Atm communication system |
JPH04138743A (ja) * | 1990-09-29 | 1992-05-13 | Toshiba Corp | トラヒック監視方式 |
US5121383A (en) * | 1990-11-16 | 1992-06-09 | Bell Communications Research, Inc. | Duration limited statistical multiplexing in packet networks |
ES2072537T3 (es) * | 1991-02-01 | 1995-07-16 | Siemens Ag | Procedimiento para el control e igualacion de corrientes de datos, que se transmiten segun un procedimiento de transmision asincrono. |
GB2253118B (en) * | 1991-02-20 | 1995-04-12 | Roke Manor Research | Improvements in or relating to asynchronous transfer mode switching system |
US5274768A (en) * | 1991-05-28 | 1993-12-28 | The Trustees Of The University Of Pennsylvania | High-performance host interface for ATM networks |
EP0528075A1 (de) * | 1991-08-19 | 1993-02-24 | ALCATEL BELL Naamloze Vennootschap | Verfahren und Vorrichtung zum Messen der Leistung in einer Telekommunkationsleitung |
DE69129851T2 (de) * | 1991-09-13 | 1999-03-25 | International Business Machines Corp., Armonk, N.Y. | Konfigurierbare gigabit/s Vermittlunganpassungseinrichtung |
US5850385A (en) * | 1991-09-24 | 1998-12-15 | Kabushiki Kaisha Toshiba | Cell loss rate sensitive routing and call admission control method |
JP3064650B2 (ja) * | 1992-03-27 | 2000-07-12 | 株式会社日立製作所 | 同報通信装置 |
US5287347A (en) * | 1992-06-11 | 1994-02-15 | At&T Bell Laboratories | Arrangement for bounding jitter in a priority-based switching system |
CA2097350C (en) * | 1992-08-17 | 1998-12-22 | Shahrukh S. Merchant | Asynchronous transfer mode (atm) transmission test cell generator |
US5289462A (en) * | 1992-08-19 | 1994-02-22 | International Business Machines Corp. | Traffic management in packet communications networks |
US5390188A (en) * | 1993-08-02 | 1995-02-14 | Synoptics | Method and apparatus for measuring and monitoring the performance within a ring communication network |
US5495478A (en) * | 1994-11-14 | 1996-02-27 | Dsc Communications Corporation | Apparatus and method for processing asynchronous transfer mode cells |
US5793976A (en) * | 1996-04-01 | 1998-08-11 | Gte Laboratories Incorporated | Method and apparatus for performance monitoring in electronic communications networks |
US5790524A (en) * | 1996-05-13 | 1998-08-04 | Lockheed Martin Corporation | Detection of lost packets in switching networks used with scalable coherent interfaces |
-
1993
- 1993-11-26 DE DE69330904T patent/DE69330904T2/de not_active Expired - Lifetime
- 1993-11-26 EP EP93309465A patent/EP0600683B1/de not_active Expired - Lifetime
- 1993-12-03 JP JP33906493A patent/JP3078439B2/ja not_active Expired - Lifetime
- 1993-12-03 CA CA002110653A patent/CA2110653C/en not_active Expired - Lifetime
-
1997
- 1997-08-27 US US08/924,426 patent/US5898689A/en not_active Expired - Lifetime
-
1998
- 1998-06-17 US US09/098,802 patent/US6519226B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3078439B2 (ja) | 2000-08-21 |
US6519226B1 (en) | 2003-02-11 |
JPH06232906A (ja) | 1994-08-19 |
US5898689A (en) | 1999-04-27 |
EP0600683A3 (en) | 1997-08-27 |
CA2110653A1 (en) | 1994-06-05 |
EP0600683A2 (de) | 1994-06-08 |
DE69330904D1 (de) | 2001-11-15 |
EP0600683B1 (de) | 2001-10-10 |
CA2110653C (en) | 2001-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69330904T2 (de) | Paketnetz-Schnittstelle | |
DE69434958T2 (de) | Vermittlungseinrichtung nach einem asynchronen Transfermodus (ATM) | |
DE68928867T2 (de) | ATM-Vermittlungssystem | |
DE69900492T2 (de) | Grosse kombinierte Breitband und Schmalband Vermittlungsstelle | |
DE69726995T2 (de) | Mehrfachsende-Leitweglenkung in mehrstufigen Netzen | |
DE60026676T2 (de) | Paketklassifizierungsautomat | |
DE60021846T2 (de) | Leitweglenkungsanordnung | |
DE69635880T2 (de) | Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren | |
DE69428107T2 (de) | Atm-vermittlung mit kontrolliertem zugang | |
DE3880692T2 (de) | Schnelle datenpaketübermittlung für digitale netze. | |
DE60033529T2 (de) | Netzprozessor, speicherorganisation und verfahren | |
DE69733703T2 (de) | Puffer von Mehrfachsendezellen in Vermittlungsnetzen | |
DE69332347T2 (de) | Koppelnetz mit einem Reservierungsring | |
DE69324274T2 (de) | Selektive überlastungsregelung für informationsnetze | |
DE69233588T2 (de) | ATM-Vermittlungsanordnung | |
DE3787600T2 (de) | Koppelpunktschaltung für Datenpaketraumvermittlung. | |
DE69033340T2 (de) | Verfahren und Vorrichtung zur Vermittlung von Paketen fester Länge wie ATM-Zellen | |
EP0762694A1 (de) | Lokales, nach dem asynchronen Transfermodus (ATM) arbeitendes Netzwerk mit wenigstens zwei Ringsystemen | |
DE69129952T2 (de) | Vorrichtung zur Paketübermittlungsregulierung | |
DE69938257T2 (de) | Interne leitweglenkung durch einen mehrstufigen atm knoten | |
EP0692893B1 (de) | Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus | |
DE69308141T2 (de) | Schnittstellenverfahren für einen atm-vermittlungskern | |
DE3881574T2 (de) | Vermittlungsverfahren für integrierte Sprach/Daten-Übertragung. | |
DE69227444T2 (de) | Einrichtung für die Erzeugung von Mehradresspaketen in einem Paketvermittlungssystem | |
DE69209694T2 (de) | Kopfübersetzungseinheit für ein ATM-Vermittlungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |