DE69219965T2 - Verfahren und Vorrichtung zur Überlastregelung von Verkehr in einer Brücke eines Kommunikationsnetzwerkes - Google Patents
Verfahren und Vorrichtung zur Überlastregelung von Verkehr in einer Brücke eines KommunikationsnetzwerkesInfo
- Publication number
- DE69219965T2 DE69219965T2 DE69219965T DE69219965T DE69219965T2 DE 69219965 T2 DE69219965 T2 DE 69219965T2 DE 69219965 T DE69219965 T DE 69219965T DE 69219965 T DE69219965 T DE 69219965T DE 69219965 T2 DE69219965 T2 DE 69219965T2
- Authority
- DE
- Germany
- Prior art keywords
- client interface
- client
- list
- packets
- interface
- 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 - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims description 64
- 238000000034 method Methods 0.000 title claims description 24
- 239000000872 buffer Substances 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 28
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 9
- 230000003139 buffering effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims 1
- 230000001276 controlling effect Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 239000012464 large buffer Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/13—Flow control; Congestion control in a LAN segment, e.g. ring or bus
- H04L47/135—Flow control; Congestion control in a LAN segment, e.g. ring or bus by jamming the transmission media
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
- Diese Erfindung betrifft allgemein Kommunikationsnetze, und insbesondere als Brücken bekannte Vorrichtungen, die mit zwei oder mehreren Netzen verbunden sind und einen angenehmen Mechanismus zum Übertragen von Datenpaketen zwischen einem Netz und einem anderen zur Verfügung stellen. Noch spezieller gehört die Erfindung zu Netzen, die ein Protokoll verwenden, das allgemein Trägererfassungs-Vielfachzugriff mit Kollisionserfassung (CSMA/CD) genannt wird. Ein derartiges Netz ist als Ethernet bekannt.
- Unter den CSMA/CD-Regeln für einen Zugriff auf einen Netzbus oder ein Kabel muß jede Station, die senden möchte, zuerst "Horchen", um sicherzustellen, daß das Kabel frei ist, bevor sie ein Senden beginnt. Alle Stationen auf dem Netz haben gleiche Priorität für einen Zugriff und können ein Senden beginnen, sobald die Leitung frei ist und eine erforderliche Verzögerung zwischen Paketen verstrichen ist. Jedoch dann, wenn eine erste Station, die ein Senden begonnen hat, eine "Kollision" mit einem Senden von einer anderen Station erfaßt, fährt die erste Station ein Senden für eine kurze Zeit fort, um sicherzustellen, daß alle Stationen, die senden möchten, die Kollision erfassen. Jede andere Station, die die Kollision erfaßt, fährt auch fort, für eine kurze Zeit zu senden. Dann beendet jede Station, die eine Kollision erfaßt hat, ein Senden für irgendeine zufällige Zeitperiode. Die an der Kollision beteiligten Stationen wählen zufällige und daher normalerweise unterschiedliche Verzögerungszeiten aus, bevor sie wieder ein Senden versuchen.
- Teilweise aufgrund der Halbduplexoperation der Netzwerke, an welche die Brücke angeschlossen ist, muß die Brücke einen Pufferspeicher für ein zeitweiliges Speichern von Datenpaketen zur Verfügung stellen, die sie nicht sofort an das Zielortnetz weiterleiten kann. Die Größe des Pufferspeichers hängt vom Verkehrsaufkommen ab, zu dessen Bearbeitung die Brücke aufgerufen ist, von der Überlastung des Zielortnetzes und von der akzeptierten Größe eines Paketverlusts. Eine mögliche Lösung für diese Schwierigkeit besteht einfach im Bereitstellen einer sehr großen Menge an Pufferspeicher, so daß es praktisch immer einen ausreichenden Speicher zum Speichern eines Datenpaketes gibt, das von einem Netz empfangen wird und für ein anderes Netz bestimmt ist, das zeitweilig beschäftigt ist. Jedoch ist es kostspielig, eine Brücke mit einem sehr großen Pufferspeicher zu implementieren. Für eine Brücke mit niedrigeren Kosten und mit kleinerem Pufferspeicher ist eine Art Überlastungssteuerung erforderlich, um den Fluß von Datenpaketen in die Brücke zu begrenzen. Eine Art, dies zu tun, besteht darin, dann, wenn ein Datenpaket durch eine Anschlußstelle der Brücke empfangen wird, einen Datenfluß von der anderen Anschlußstelle oder anderen Anschlußstellen der Brücke einfach zu "stauen" oder zu sperren. Obwohl dies und ähnliche Techniken für eine billige Brükkenimplementierung sorgen, nutzen sie die Brücke nicht sehr effizient aus. Es ist klar, daß es viel Raum für eine Verbesserung beim Bereitstellen einer Verkehrsüberlastungssteuerung für Brücken gibt, und die vorliegende Erfindung ist auf dieses Ziel gerichtet.
- Ein weiterer Aspekt des Hintergrunds dieser Erfindung ist die Art, auf die die CSMA/CD-Protokolle Verzögerungszeiten auswählen, die als Rückhaltewerte bekannt sind, wenn eine Kollision angetroffen wird. Der Rückhaltewert wird als Anzahl von Zeitschlitzen ausgedrückt, wobei ein Zeitschlitz die Netzrundlaufverzögerung für die maximale Netzkonfiguration ist. Nach einer Kollision fordert das normale CSMA/CD-Protokoll die Verwendung eines zufällig ausgewählten Rückhaltewerts zwischen 0 und 1. Wenn es eine zweite Kollision gibt, wird der Rückhaltewert von 0 bis 3 ausgewählt; und nach einer dritten Kollision kann der Rückhaltewert zwischen 0 und 7 sein. Nach nachfolgenden Kollisionen bei Versuchen zum nochmaligen Senden wird der Rückhaltewert aus ansteigend größeren Bereichen von Zahlen bis zu 1 bis 1.023 ausgewählt. Nach sechzehn Versuchen zum Senden desselben Pakets wird es weggeworfen, und ein neues Paket wird beginnend mit einem Rückhaltewert von 0 oder 1 nach einer ersten Kollision gesendet.
- Es ist ein Ziel der vorliegenden Erfindung, einen Überlastungssteuermechanismus zu schaffen, wobei die Größe des Pufferspeichers stark reduziert wird, während der Paketverlust aufgrund der zeitweiligen Unfähigkeit einer Brücke, Daten anzunehmen, auf einer akzeptierbaren Größe bleibt. Ein Paketverlust ist nicht ein gänzlich genauer Ausdruck, da normalerweise alle "verlorenen" Pakete auf ein Erfassen des Verlustes hin in irgendeiner höheren Schicht des Netzprotokolls nochmals gesendet werden.
- Ein weiteres Ziel der vorliegenden Erfindung besteht im Bereitstellen eines Überlastungssteuermechanismus, der weniger oder keinen Einfluß auf die Leistungsfähigkeit einer Brücke hat, in welcher er eingebaut ist. Insbesondere sollte der Durchsatz der Brücke durch das Vorhandensein der Überlastungssteuertechnik nicht signifikant beeinflußt werden, und die Latenzzeit oder Übertragungsverzögerungszeit sollte nicht signifikant erhöht werden. Die vorliegende Erfindung erreicht diese und andere Ziele.
- Das US-Patent 4,500,900 nach dem Stand der Technik von Akashi lehrt eine Kommunikationsvorrichtung zur Verwendung wie z.B. bei einer Schnittstelle zwischen einer Datenverarbeitungsvorrichtung und einem Übertragungsmedium eines Netzes mit Trägererfassungs-Vielfachzugriff mit Kollisionserfassung (CSMA/CD). Eine Datenübertragung, die auf eine Kollisionserfassung hin unterbrochen wird, wird nach einem Zeitintervall erneut begonnen, das einer Zufallszahl entspricht, wie es beim Stand der Technik bekannt ist.
- Die vorliegende Erfindung besteht in einem Verfahren und einem zugehörigen Gerät zum Steuern des Flusses von Datenpaketen von einem Netz zu einem anderen über eine Brücke, die an beide Netze angeschlossen ist. Für Erklärungszwecke werden die zwei Netze Kommunikationsnetze und Klientenschnittstelle genannt und die Erfindung ist derart beschrieben, daß der Fluß von Datenpaketen zu und von nur einem der Netze, nämlich der Klientenschnittstelle geregelt wird. Jedoch wird im Verlauf der Beschreibung verstanden werden, daß die Erfindung auf das andere Netz angewendet werden könnte, oder auf beide Netze, um Anforderungen an den Pufferspeicher weiter zu minimieren. Die Klientenschnittstelle kann eine Klientenvorrichtung oder mehrere Klientenvorrichtungen haben, die an sie angeschlossen sind, welche die Quelle oder der Zielort von Nachrichtenpaketen sein kann, die durch den Mechanismus der Erfindung bearbeitet werden.
- Kurz und in allgemeinen Ausdrücken gesagt weist das Verfahren der Erfindung folgende Schritte auf: Empfangen von ankommenden Datenpaketen von einem Kommunikationsnetz; Speichern jedes ankommenden Datenpakets, wenn es nötig ist, bis die Klientenschnittstelle verfügbar wird; Übertragen des Pakets auf die Klientenschnittstelle; Empfangen abgehender Datenpakete von der Klientenschnittstelle; Speichern jedes abgehenden Datenpakets, wenn es nötig ist, wenn das Kommuniktionsnetz verfügbar wird; Übertragen des abgehenden Datenpakets auf das Kommunikationsnetz; und Steuern der Schritte zum Übertragen zu und zum Empfangen von der Klientenschnittstelle, um Pufferanforderungen zu minimieren. Spezifische Schritte sind zum Steuern des Flusses von Datenpaketen zu und von der Klientenschnittstelle enthalten.
- Die Erfindung in ihrer allgemeinsten Form besteht in einem Verfahren und einem Gerät zum Steuern eines Flusses von Datenpaketen, wie es jeweils in den Ansprüchen 1 und 7 angegeben ist.
- Die Erfindung verwendet das als Trägererfassungs-Vielfachzugriff mit Kollisionserfassung (CSMA/CD) bekannte Protokoll, welches dafür sorgt, daß dann, wenn es eine "Kollision" zwischen Datenpaketen gibt, die auf ein Netz durch zwei oder mehrere unterschiedliche Vorrichtungen gesendet werden, der Konflikt dadurch gelöst wird, daß von jeder Vorrichtung gefordert wird, für irgendeine zufällig ausgewählte Zeit zu warten, bevor ein nochmaliges Senden versucht wird. Wenn die Erfindung erfaßt, daß es wenigstens ein Datenpaket gibt, das von der Klientenschnittstelle empfangen worden ist, aber noch nicht verarbeitet worden ist (d.h. zum Netz gesendet), wählt sie im Fall einer Kollision einen Rückhaltewert von Null aus. Dies teilt einer nochmaligen Übertragung zur Brückenvorrichtung der Erfindung eine Priorität zu, da ein Rückhalte- bzw. Leistungsreduzierwert von Null bedeutet, daß die Brücke ein wiederholtes Versuchen ohne Verzögerung für einen Zugriff zur Klientenschnittstelle beibehalten kann, aber ein an die Schnittstelle angeschlossener Klient wird einen zufälligen Rückhaltewert auswählen. Wenn die Erfindung erfaßt, daß es keine Datenpakete von der Klientenschnittstelle gibt, die auf eine weitere Verarbeitung warten, stellt sie den Rückhaltewert zum Zuteilen einer Priorität zu einem Klienten ein, der versucht, zur Schnittstelle zu senden. Insbesondere wird der Rückhaltewert in diesem Fall auf 2 eingestellt. Da die CSMNCD-Regeln einer Auswahl eines Rückhaltewerts von 0 oder 1 nach einer ersten Kollision aufrufen, wird dem Klienten ein Zugriff auf die erste nochmalige Übertragung nach einer Kollision garantiert.
- Ein weiterer Aspekt der Erfindung enthält ein Anwenden eines "Zurückdrückens" zur Klientenschnittstelle zu einer geeigneten Zeit, um zu verhindern, daß Klienten Datenpakete auf die Schnittstelle senden. Die geeignete Zeit für diese Handlung ist dann, wenn keine weitere Pufferspeicherkapazität zum Empfangen eines Pakets von der Klientenschnittstelle verfügbar ist, und es keine Pakete gibt, die darauf warten, auf die Klientenschnittstelle gesendet zu werden.
- Genauer gesagt enthält der Schritt zum Steuern eines Sendens zur und eines Empfangens von der Klientenschnittstelle ein Unterhalten einer Liste von Paketen, die von der Klientenschnittstelle empfangen werden und noch nicht weitergeleitet sind; ein Unterhalten einer Liste ankommender Pakete, die vom Kommunikationsnetz empfangen und noch nicht zur Klientenschnittstelle weitergeleitet sind; und basierend auf dem Status der zwei Listen von Paketen ein Durchführen geeigneter Einstellungen bezüglich der Klientenschnittstellen-Kommunikationsprotokolle zum Steuern des Flusses von Datenpaketen durch die Klientenschnittstelle.
- Der Schritt zum Durchführen geeigneter Einstellungen bezüglich der Klientennetz- Kommunikationsprotokolle enthält ein Erfassen, wann die Liste von Paketen, die von der Klientenschnittstelle empfangen werden, leer ist, und ein Einstellen von Klientenschnittstellen-Protokollparameter, um im Fall eines Konflikts für einen Zugriff zur Klientenschnittstelle ein Erhalten eines Klientenschnittstellenzugriffs zu einer Klientenvorrichtung zu begünstigen, um dadurch ein erfolgreiches erneutes Senden von weiteren Paketen von einem Klienten auf die Klientenschnittstelle zu garantieren. Das Verfahren enthält weiterhin ein Erfassen, wann die Liste von von der Klientenschnittstelle empfangenen Paketen nicht leer ist und ein Einstellen von Klientenschnittstellen-Protokollparametern, um ein Zurückhalten eines Brückenzugriffs zur Klientenschnittstelle im Fall eines Konflikts für einen Zugriff zu begünstigen, um dadurch einer nochmaligen Übertragung einer Brücke nach einer Kollision mit dem Klienten eine Priorität zuzuteilen. Wenn die Liste von von der Klientenschnittstelle empfangenen Paketen leer ist, beg(instigen die Einstellungen eine weitere Iibertragung von einem von vielen Klienten, die an die Klientenschnittstelle angeschlossen sein können. Wenn die Liste von von der Klientenschnittstelle empfangenen Paketen nicht leer ist, begünstigen die Einstellungen ein Zurückhalten eines Zugriffs zur Klientenschnittstelle durch die Vorrichtung der Erfindung. Diese Einstellungen werden durch Auswählen eines geeigneten Rückhaltewerts im Fall einer Kollision durchgeführt, wenn die Klientenschnittstelle verwendet wird. Eine Auswahl eines größeren Rückhaltewerts für die Brückenvorrichtung nach einer Kollision teilt einem Klienten eine Priorität zu, der nach einem Zugriff auf die Klientenschnittstelle sucht. Eine Auswahl eines Rückhaltewerts von Null sperrt effektiv einen Zugriff zur Klientenschnittstelle durch einen Klienten.
- Der Schritt zum Durchführen geeigneter Einstellungen bezüglich des Klientennetzes enthält weiterhin ein Erfassen, wann die Liste von von der Klientenschnittstelle empfangenen Paketen voll ist und die Liste ankommender Pakete leer ist, und ein Versetzen der Klientenschnittstelle in einen Besetztzustand, so daß ein Klient weitere Datenpakete auf die Klientenschnittstelle senden kann. Der Besetztzustand wird durch Anlegen eines Trägersignais an die Klientenschnittstelle erreicht, bis zu einer derartigen Zeit, zu der die Notwendigkeit für den Zustand nicht mehr existiert. Wenn die Liste ankommender Pakete nicht leer ist, gibt es Pakete zum Senden auf die Klientenschnittstelle, und ein Senden von ihnen wird ohne die Notwendigkeit für den künstlichen Besetztzustand verhindern, daß weitere Pakete empfangen werden. Wenn die Liste von von der Klientenschnittstelle empfangenen Paketen nicht voll ist, gibt es Platz für wenigstens ein weiteres Paket, und daher gibt es keine Notwendigkeit für ein künstliches Sperren eines Sendens auf die Schnittstelle.
- Bei dem darstellenden Ausführungsbeispiel der Erfindung können die von der Klientenschnittstelle empfangenen Pakete abgehende Pakete sein, die dazu bestimmt sind, auf das Kommunikationsnetz gesendet zu werden, oder Schleifenrückführpakete für eine Rückkehr zur Klientenschnittstelle nach einer Verarbeitung. Daher kann das Verfahren auch die Schritte zum Empfangen eines Schleifenrückführpakets von der Klientenschnittstelle und zum Speichern des Schleifenrückführpakets, wenn es nötig ist, für ein späteres Senden zurück zur Klientenschnittstelle enthalten.
- Das Gerät der vorliegenden Erfindung weist folgendes auf: eine Einrichtung zum Empfangen ankommender Datenpakete von einem Kommunikationsnetz; einen Eingangs-Pufferspeicher zum Speichern jedes ankommenden Datenpakets, bis die Klientenschnittstelle verfügbar ist; eine Einrichtung zum Senden des ankommenden Datenpakets auf die Klientenschnittstelle; eine Einrichtung zum Empfangen abgehender Datenpakete von der Klientenschnittstelle; einen Ausgangs-Pufferspeicher zum Speichern jedes abgehenden Datenpakets, bis das Kommunikationsnetz verfügbar ist; eine Einrichtung zum Senden eines Datenpakets vom Ausgangs- Pufferspeicher auf das Kommunikationsnetz; und eine Einrichtung zum Steuern der Einrichtung zum Senden zu und zum Empfangen von der Klientenschnittstelle, um Puffer-Anforderungen zu minimieren. Andere Varianten des beanspruchten Geräts sind möglich, und zwar konsistent mit dem Schutzumfang des oben beschriebenen Verfahrens.
- Aus dem Vorangehenden wird klar, daß die vorliegende Erfindung einen signifikanten Fortschritt auf dem Gebiet von Brückenvorrichtungen zur Verwendung bei Halbduplex-CSMA/CD-Netzen zeigt. Insbesondere schafft die Erfindung eine Brückenvorrichtung mit minimalen Anforderungen in bezug auf einem Pufferspeicher durch Steuern eines Zugriffs zu wenigstens einem der Netze, an welche die Brückenvorrichtung angeschlossen ist. Die Erfindung stellt eine Überlastungssteuerung mit relativ geringen Kosten zur Verfügung, und zwar durch Begrenzen der Anforderungen an den Pufferspeicher, während noch eine akzeptierbare Größe eines Paketverlustes eingehalten wird. Darüber hinaus resultiert die Verwendung der Erfindung nicht in einer Verschlechterung der Leistungsfähigkeit. Tatsächlich wird die Leistungsfähigkeit einer Brücke, in welcher der Mechanismus eingebaut ist, vom Gesichtspunkt eines Klienten aus etwas verbessert, verglichen mit einer Konfiguration, bei der viele Klientenvorrichtungen direkt an das Kommunikationsnetz angeschlossen sind. Wenn der Ausgangspuffer nicht leer ist, d.h. er eines oder mehrere Datenpakete enthält, ist das Kommunikationsnetz besetzt, und wenn mehrere Klienten direkt an das Netz angeschlossen wären, wären sie nicht dazu fähig, miteinander zu kommunizieren. Jedoch dann, wenn der Ausgangspuffer genau ein Paket enthält, das auf ein Senden wartet, können mehrere Klienten noch miteinander kommunizieren obwohl sie nicht dazu fähig gewesen wären, wenn sie direkt an das Kommunikationsnetz angeschlossen wären.
- Es wird auch angenommen, daß, obwohl ein Ausführungsbeispiel der Erfindung detailliert zu Darstellungszwecken beschrieben worden ist, verschiedene Modifikationen durchgeführt werden können, ohne vom Schutzumfang der Erfindung abzuweichen. Beispielsweise ist es offensichtlich, daß, obwohl die Erfindung derart beschrieben worden ist, daß ein Zugriff auf eines von zwei Netzen gesteuert wird, an welche eine Brückenvorrichtung angeschlossen ist, dieselben Prinzipien auf das andere Netz oder auf beide Netze angewendet werden könnten. Allgemeiner gesagt kann der Überlastungssteuermechanismus der Erfindung in ausgewählten Netzen eines Kommunikationssystems mit mehreren Netzen implementiert werden. Weiterhin sind, obwohl die Erfindung gut geeignet zur Anwendung auf Netze ist, in welchen eine Schleifenrückführverarbeitung eine Anforderung ist, die Prinzipien der Erfindung gleichermaßen gut geeignet für Netze, bei welchen es kein Erfordernis für eine Schleifenrückführverarbeitung gibt.
- Die Erfindung kann aus der folgenden Beschreibung eines bevorzugten beispielhaften Ausführungsbeispiels detaillierter verstanden werden, das in Zusammenhang mit den beigefügten Zeichnungen zu lesen ist, wobei:
- Fig. 1 ein vereinfachtes Diagramm ist, das eine Brücke zeigt, die zwischen einem Kommunikationsnetz und einer Klientenschnittstelle angeschlossen ist, gemäß einem bevorzugten Ausführungsbeispiel der Erfindung;
- Fig. 2 ein Blockdiagramm ist, das zeigt, wie die Paketüberlastungssteuertechnik der Erfindung in einer kryptographischen Vorrichtung implementiert ist, die zwischen einem Kommunikationsnetz und einer Klientenschnittstelle angeschlossen ist;
- Fig. 3A ein Flußdiagramm ist, das die funktionalen Schritte zeigt, die beim Verarbeiten von Paketen durchgeführt werden, die zur Brücke eingegeben werden;
- Fig. 3B ein Flußdiagramm ist, das die funktionalen Schritte zeigt, die beim Verarbeiten von Paketen durchgeführt werden, die von der Brücke auszugeben sind; und
- Fig. 3C ein Flußdiagramm ist, das die funktionalen Schritte zeigt, die beim Steuern einer Paketüberlastung in der Brücke durchgeführt werden.
- Wie es in den Zeichnungen zu Darstellungszwecken gezeigt ist, betrifft die vorliegende Erfindung eine Technik zum Minimieren von Anforderungen an einen Pufferspeicher in einer Brückenvorrichtung, die an wenigstens zwei Netze angeschlossen ist. Fig. 1 zeigt die Grundumgebung, in welcher die Erfindung verwendet wird. Eine Brücke, die durch das Bezugszeichen 10 gezeigt ist, ist an ein Netz angeschlossen, das Klientenschnittstelle 12 genannt wird, von welcher die Brücke Datenpakete über eine Leitung 14 empfängt und zu welcher die Brücke Datenpakete über eine Leitung 15 sendet. Die Brücke 10 ist auch an ein Kommunikationsnetz 16 angeschlossen, von welchem die Brücke Datenpakete über eine Leitung 18 empfängt und zu welchem die Brücke Pakete über eine Leitung 19 sendet. Natürlich kann die Brücke 10 auch an andere Netze angeschlossen sein, aber zum Zwecke der Erklärung werden in dieser Beschreibung nur zwei Netze betrachtet.
- Wenn die Brücke 10 ein Datenpaket vom Kommunikationsnetz empfängt, das für die Klientenschnittstelle bestimmt ist, kann es sein, daß die letztere nicht immer dafür verfügbar ist, das Paket anzunehmen. Somit muß die Brücke 10 einen Pufferspeicher 20 für die zeitweilige Speicherung von Datenpaketen haben, die durch die Brücke weitergeleitet werden. Im allgemeinen gibt es wenig, was die Brücke dazu tun kann, den Verkehrsfluß vom Kommunikationsnetz 16 zu regeln. Wenn ein Paketverlust auf einer vernünftig niedrigen Größe gehalten werden soll, wird ein relativ großer Pufferspeicher zum Speichern dieser "ankommenden" Pakete benötigt, die vom Kommunikationsnetz empfangen werden. Zum Vermeiden, daß man einen sehr großen Pufferspeicher für Pakete verwenden muß, die von der Klientenschnittstelle empfangen werden, und zum Minimieren eines Paketverlusts, enthält die Brücke 10 auch eine Paketüberlastungssteuerlogik 22, die den Datenfluß durch Modifizieren von Protokollparametern regelt, die beim Steuern eines Zugriffs zur Klientenschnittstelle 12 verwendet werden.
- Gemäß der Erfindung verwendet die Paketüberlastungssteuerlogik 22 den Status von Eingangs- und Ausgangspuffern 20A und 20B, um zu bestimmen, wie der Fluß von Datenpaketen zu und von der Klientenschnittstelle 12 zu regeln ist. Beim detailliert beschriebenen Ausführungsbeispiel der Erfindung wird die Überlastungssteuertechnik auf nur eine Seite der Brücke 10 angewendet, aber es ist klar, daß die Technik bei einer geeigneten Anwendung symmetrisch auf beide Seiten der Brücke angewendet werden kann. Die Implementierung, die anhand eines Beispiels beschrieben wird, ist in einer Brückenvorrichtung verkörpert, die auch eine "Schleifenrückführungs"-Verarbeitung für einen oder mehrere "Klienten" unter Verwendung der Klientenschnittstelle 12 zur Verfügung stellt. Bei der Schleifenrückführungsverarbeitung wird ein von der Klientenschnittstelle 12 empfangenes Datenpaket irgendwie durch die Brücke 10 verarbeitet und zur Klientenschnittstelle zurückgebracht. Zu diesem Zweck enthält der Pufferspeicher 20 auch einen Schleifenrückführpuffer 20C, der Daten von der Klientenschnittstelle 12 über eine Leitung 23A empfängt und Daten zur Klientenschnittstelle über eine Leitung 23B sendet.
- Die Paketüberlastungssteuerlogik 22 verwendet zwei Listen, die den Status der Eingangs-, Ausgangs- und Schleifenrückführpuffer 20A, 20B, 20C zeigen. Eine Eingangsliste 22A enthält einen Eintrag für jedes im Eingangspuffer 20A gespeicherte Datenpaket und eine "vom Klienten"-Liste 22B enthält einen Eintrag für jedes im Ausgangs- und im Schleifenrückführpuffer 20B und 20C gespeicherte Datenpaket.
- Fig. 2 zeigt eine Brückenvorrichtung, die zwischen der Klientenschnittstelle 12 und dem Kommunikationsnetz 16 angeschlossen ist. In dieser Beschreibung sind Aspekte der Vorrichtung, die die Klientenschnittstelle betreffen, manchmal derart bezeichnet, daß sie auf der "Klientenseite" der Vorrichtung sind, und Aspekte bezüglich des Kommunikationsnetzes sind manchmal derart bezeichnet, daß sie auf der "Netzseite" sind. Die relevanten Komponenten der Vorrichtung enthalten eine Klientenempfangsmaschine 24, die mit RxC bezeichnet ist, eine Klientensendemaschine 26, die mit TxC bezeichnet ist, eine Netzempfangsmaschien RxN 28, eine Netzsendemaschine TxN 30, eine kryptographische Maschine 32, den Pufferspeicher 20, einen Empfangs-Parser 38 und einen Sende-Parser 40. Die kryptographische Maschine 32 und die Empfangs- und Sende-Parser 38 und 40 sind natürlich nur nötig, wenn die Vorrichtung der Erfindung in Zusammenhang mit einer kryptographischen Verarbeitung verwendet wird.
- Diese Komponenten sind in verschiedenen logischen Konfigurationen in Abhängigkeit vom Typ des Verkehrs anschlossen, der zu einer bestimmten Zeit bearbeitet wird. Obwohl alle der Datenpfade, die beschrieben werden, durch den Pufferspeicher 20 verlaufen, gibt es zwei direkte logische Pfade, die den Pufferspeicher als Teil jedes Datenpfads und nicht zur Datenpaketspeicherung verwenden. Zuerst gibt es einen direkten logischen Pfad von der Klientenschnittstelle 12 zum Kommunikationsnetz 16. Dieser Pfad enthält eine Leitung 42 von der Klientenschnittstelle 12 zur Klientenempfangsmaschine 24, eine Leitung 44 von der Klientenempfangsmaschine zur Netzsendemaschine 30 (mittels des Pufferspeichers 20), und eine dritte Leitung 46 von der Netzsendemaschine zum Kommunikationsnetz 16. Gleichermaßen gibt es einen weiteren direkten logischen Pfad vom Kommunikationsnetz 16 zur Klientenschnittstelle 12, einschließlich einer Leitung 48 vom Kommunikationsnetz zur Netzempfangsmaschine 28, einer Leitung 50 von der Netzempfangsmaschine zur Klientensendemaschine 26 (mittels des Pufferspeichers 20), und einer weiteren Leitung 54 von der Klientensendemaschine zur Klientenschnittstelle 12. Der Pufferspeicher 20 ist durch einen Datenbus 56 an den "Ausgangs"-Datenpfad entlang der Leitung 44 angeschlossen, und an den "Eingangs"-Datenpfad entlang der Leitung 50. Wie es bereits unter Bezugnahme auf Fig. 1 beschrieben ist, hat der Pufferspeicher 3 logisch getrennte Speicher: den Eingangspuffer 20A, den Ausgangspuffer 20B und den Schleifenrückführpuffer 20C.
- Aus der vorangehenden Beschreibung von Datenpfaden ist zu verstehen, daß der Pufferspeicher 20 sowohl zum Speichern von Datenpaketen dient, wenn sie nicht sofort gesendet werden können, als auch zum sofortigen Durchführen von Daten, ohne das gesamte Paket zu speichern. Während beide dieser Handlungen technisch ein "Speichern" von Daten im Speicher enthalten könnten, ist in dieser Beschreibung das Wort "Speichern" für die Situation reserviert, in welcher ein gesamtes Datenpaket für eine spätere Weiterleitung auf das Kommunikationsnetz 16 oder zur Klientenschnittstelle 12 gehalten wird. Wenn ein Datenpaket durch den Pufferspeicher 20 in einer "Durchschneid"-Betriebsart einer Operation läuft, wird ein Paket bereits vom Speicher gesendet, während Teile von ihm noch am Speicher ankommen.
- Die kryptographische Schnittstelle sorgt für eine Verschlüsselung oder Entschlüsselung von Datenpaketen, die in einer Richtung zwischen der Klientenschnittstelle 12 und dem Kommunikationsnetz 16 verlaufen. Die kryptographischen Aspekte dieser Konfiguration haben keinen direkten Bezug zur vorliegenden Erfindung, welche in irgendeiner Brücke oder einer brückenähnlichen Vorrichtung implementiert sein kann, die an zwei oder mehrere Netze angeschlossen ist.
- Die Klientenschnittstelle 12 enthält ein Halbduplex-Medium, wie beispielsweise ein Ethernet, welches ein Protokoll verwendet, das allgemein Trägererfassungs- Mehrfachzugriff mit Kollisionserfassung (CSMA/CD) genannt wird. Unter den CSMA/CD-Regeln für einen Zugriff auf einen Netzbus oder ein Kabel muß jede Station, die Senden möchte, zuerst "Horchen", um sicherzustellen, daß das Kabel frei ist, bevor sie ein Senden beginnt. Alle Stationen auf dem Netz haben gleiche Zugriffspriorität und können ein Senden beginnen, sobald die Leitung frei ist und eine erforderliche Verzögerung zwischen Paketen verstrichen ist. Jedoch dann, wenn eine erste Station, die ein Senden begonnen hat, eine "Kollision" mit einem Senden von einer anderen Station erfaßt, fährt die erste Station ein Senden für eine kurze Zeit fort, um sicherzustellen, daß alle Stationen, die senden möchten, die Kollision erfassen. Jede andere Station, die die Kollision erfaßt, fährt auch für eine kurze Zeit damit fort zu senden. Dann beendet jede Station, die die Kollision erfaßt, ein Senden für irgendeine zufällige Zeitperiode. Die an der Kollision beteiligten Stationen wählen zufällige und daher normalerweise unterschiedliche Verzögerungszeiten vor einem Versuchen eines nochmaligen Sendens aus.
- Die Arten der CSMA/CD-Regeln für einen Netzzugriff sind derart, daß eine Vollduplexsendung, d.h. ein Senden und Empfangen zur gleichen Zeit, nicht möglich ist. Wenn eine Station gerade ein Paket empfängt, ist das Netz besetzt und ein Senden von dieser oder irgendeiner anderen Station kann nicht begonnen werden. Gleichermaßen kann dann, wenn gerade ein Senden von dieser Station durchgeführt wird, kein Paket zur gleichen Zeit empfangen werden, da keine andere Sendestation einen Zugriff auf das Netz erlangen kann, während diese Station gerade eine Nachricht sendet. Daher ist die Art der Operation einer Ethernet- oder einer anderen CSMA/CD-Station ein Halbduplex-Art, d.h. Nachrichten können sowohl gesendet als auch empfangen werden, aber aufgrund der Art der Netzzugriffsregeln nicht gleichzeitig. Wie es beschrieben wird, modifiziert die vorliegende Erfindung die normalen Ethernet-CSMA/CD-Protokolle derart, daß die Pufferspeichergröße minimiert werden kann, um die Kosten der Brücke zu reduzieren.
- Die vorliegende Erfindung stellt drei logische Puffer innerhalb des physikalischen Pufferspeichers 20 zur Verfügung, obwohl es verstanden wird, daß drei vollständig getrennte physikalische Puffer verwendet werden könnten. Der Schleifenrückführpuffer wird für eine kryptographische oder eine andere Verarbeitung benötigt, die beim darstellenden Ausführungsbeispiel durch die Brücke durchgeführt wird. Bei Anwendungen der Erfindung, bei welchen eine Schleifenrückführverarbeitung für kryptographische oder andere Zwecke nicht erforderlich ist, werden nur der Eingangspuffer und der Ausgangspuffer benötigt. Der Eingangspuffer wird zum Speichern von Datenpaketen verwendet, die vom Kommunikationsnetz 16 empfangen und für die Klientenschnittstelle 12 bestimmt sind. Der Ausgangspuffer wird zum Speichern von Datenpaketen verwendet, die von der Klientenschnittstelle 12 empfangen und für das Kommunikationsnetz 16 bestimmt sind. Der Schleifenrückführpuffer wird zum Speichern von Datenpaketen verwendet, die von der Klientenschnittstelle 12 empfangen werden, kryptographisch oder anders verarbeitet werden und dann zur Klientenschnittstelle zurückgebracht werden.
- Die Paketüberlastungssteuerlogik 22 verwendet zwei Warteschlangen oder Listen zum Verfolgen von Datenpaketen, die in den drei Puffern gespeichert sind. Die Listen sind als "vom Klienten"-Liste 22A und Eingangsliste 22B bezeichnet. Die "vom Klienten"-Liste enthält einen Eintrag für jedes Datenpaket, das von der Klientenschnittstelle 12 empfangen und noch nicht zu seinem Zielort weitergeleitet ist. Diese enthalten sowohl abgehende Pakete, die für das Kommunikationsnetz 16 bestimmt sind, als auch Schleifenrückführpakete, die dazu bestimmt sind, nach einer erforderlichen Verarbeitung zur Klientenschnittstelle 12 zurückgebracht zu werden. Beim darstellenden Ausführungsbeispiel der Erfindung enthält die "vom Klienten"-Liste ein Maximum von nur zwei Einträgen, um Anforderungen an den Pufferspeicher in der Vorrichtung zu minimieren. Nur einer der zwei Einträge in der "vom Klienten"-Liste kann für ein Datenpaket sein, das im Schleifenrückführpufferspeicher gespeichert ist. Eine Verwendung eines kleineren Puffers in der Vorrichtung für Pakete, die von der Klientenschnittstelle 12 empfangen werden, zwingt den Klienten oder die Klienten abgehende Datenpakete zu puffern. Die Eingangsliste enthält einen Eintrag für jedes Datenpaket, das vom Kommunikationsnetz 16 empfangen und noch nicht zur Klientenschnittstelle 12 weitergeleitet ist. Weil der Verkehrsfluß vom Kommunikationsnetz 10 stark über die Steuerung der Brückenvorrichtung der Erfindung hinausgeht, hat die Eingangsliste eine große maximale Anzahl von Einträgen. Beim darstellenden Ausführungsbeispiel der Erfindung sind 1.023 Einträge zugelassen, wovon nur einer für ein Datenpaket sein kann, der im Schleifenrückführpufferspeicher gespeichert ist, und wobei der Rest für Datenpakete ist, die im Eingangspufferspeicher gespeichert sind. Beide Listen arbeiten als First-in-First-out-Warteschlangen und werden während Dateneingabe- und-ausgabeoperationen bearbeitet, wie es in den Fig. 3A und 3B gezeigt ist.
- Ein Verarbeiten eines Brückeneingangsverkehrs enthält zwei parallele Verarbeitungsschleifen, wie es in Fig. 3A gezeigt ist, von welchen eine Schleife von der Klientenschnittstelle 12 empfangene Pakete verarbeitet und die andere vom Kommunikationsnetz 10 empfangene Pakete verarbeitet. Wenn ein Datenpaket von der Klientenschnittstelle 12 empfangen wird, wie es im Block 60 bestimmt wird, wird im Block 62 zuerst eine Bestimmung darüber durchgeführt, ob das Paket ein Schleifenrückführpaket oder ein abgehendes Paket ist. Wenn das empfangene Paket ein abgehendes Paket ist, wird es im Ausgangspuffer gespeichert, wie es im Block 64 angezeigt ist, und ein Eintrag wird in der letzten Position der "vom Klienten"-Liste gemacht, wie es im Block 66 angezeigt ist. Für ein Schleifenrückführpaket ist eine Verarbeitung genauso, außer daß das Paket im Schleifenrückführpuffer gespeichert wird, wie es im Block 68 angezeigt ist, und dann Einträge in der letzten Position sowohl der "vom Klienten"-Liste als auch der Eingangsliste gemacht werden, wie es im Block 70 angezeigt ist. Für Überlastungssteuerzwecke wird ein Schleifenrückführpaket sowohl als "vom Klienten"-Paket als auch als ankommendes Paket behandelt. Nach einem Verarbeiten eines von der Klientenschnittstelle 12 empfangenen Pakets in den Blöcken 64, 66, 68 und 70 geht die Verarbeitungsschleife weiter im Block 60, welcher kontinuierlich Eingangspakete von der Klientenschnittstelle erfaßt.
- In einer ähnlichen Verarbeitungsschleife zum Verarbeiten von vom Kommunikationsnetz 16 empfangenen Paketen bestimmt ein Block 72, ob ein empfangenes Paket vom Kommunikationsnetz ist. Wenn es so ist, wird das empfangene Paket im Eingangspuffer gespeichert, wie es im Block 74 angezeigt ist, und ein Eintrag wird in der Eingangsliste gemacht, wie es im Block 76 angezeigt ist. Die Verarbeitungsschleife geht weiter im Block 72.
- Eine Brückenausgabeverarbeitung verläuft grundsätzlich, wie es in Fig. 3B gezeigt ist, mit zwei parallelen Verarbeitungsschleifen, von denen eine Pakete verarbeitet, die zum Kommunikationsnetz 16 auszugeben sind, und die andere Pakete verarbeitet, die zur Klientenschnittstelle 12 auszugeben sind. Beim Verarbeiten einer Ausgabe zum Kommunikationsnetz bestimmt die Vorrichtung im Block 80 zuerst, ob es ein Paket im Ausgangspuffer 20B gibt. Wenn es so ist, versucht die Brücke das Datenpaket auf das Kommunikationsnetz 16 zu senden, wie es im Block 82 angezeigt ist. Wenn das Kommunikationsnetz auch CSMA/CD-Protokolle verwendet, kann das versuchte Senden nicht erfolgreich sein, in welchem Fall kein weiterer Versuch für irgendeine ausgewählte zufällige Zeitperiode durchgeführt wird. Wenn das Senden erfolgreich ist, wird die "vom Klienten"-Liste erneuert, um einen Eintrag zu entfernen, der dem gesendeten Paket entspricht. Die Verarbeitungsschleife fährt dann mit einer Prüfung des Vorhandenseins eines Pakets im Ausgangspuffer 20B fort. Die andere Ausgabe-Verarbeitungsschleife, die in Fig. 3B unten gezeigt ist, enthält ein Prüfen zur Bestimmung, ob ein Paket im Eingangs- oder Schleifenrückführpuffer 20B und 20C wartet, wie es im Block 84 angezeigt ist. Wenn es so ist, wird ein Versuch zum Senden des Pakets zur Klientenschnittstelle 12 durchgeführt, wie es im Block 86 angezeigt ist. Da die Trägerschnittstelle CSMA/CD-Protokolle verwendet, muß der Versuch nicht notwendigerweise erfolgreich sein. Wenn er erfolgreich ist, werden die Listen geeignet erneuert. Für ein ankommendes Paket wird der entsprechende Eintrag in der Eingangsliste entfernt. Für ein Schleifenrückführpaket werden die entsprechenden Einträge in der Eingangs- und in der "vom Klienten"-Liste entfernt. Nach diesen Schritten macht die Verarbeitungsschleife im Block 84 weiter, welcher kontinuierlich das Vorhandensein von Paketen im Eingangs- oder im Schleifenrückführpuffer 20B und 20C prüft.
- Die bei einer Überlastungssteuerung durchgeführten Funktionen sind in Fig. 3C gezeigt. Es ist zu verstehen, daß Funktionen der Überlastungssteuerung, der Eingabeverarbeitung und der Ausgabeverarbeitung alle auf eine praktisch simultane Weise durchgeführt werden, der Anschaulichkeit halber aber als separate Funktionsschleifen in den Fig. 3A, 3B und 3C gezeigt sind. Die Überlastungssteuerschleife enthält zwei Tests für den Status der "vom Klienten"- und der Eingangsliste. Zuerst wird dann, wenn die "vom Klienten"-Liste leer ist, wie es im Block 90 bestimmt wird, ein Rückhalteparameter von zwei Schlitzen ausgewählt, um im Fall einer Kollision beim Senden zur Klientenschnittstelle verwendet zu werden, wie es im Block 92 angezeigt ist. Der Rückhalteparameterwert wird typischerweise in "Stützzeiten" gemessen, wobei eine Schlitzzeit die Netzumlaufverzögerung bei der maximalen Konfiguration des Netzes ist. Die Schlitzzeit kann auch als die Zeit zum Senden von 512 Bits mit einer seriellen Datenrate von 10 Megahertz (= 51,2 Mikrosekunden) definiert sein. Ein Verwenden eines höheren Rückhaltewerts, d.h. eine Verzögerung von zwei Schlitzzeiten statt Null vor einem Versuchen eines nochmaligen Sendens, stellt sicher, daß ein an der Klientenschnittstelle angeschlossener Klient nach der ersten Kollision nochmals auf die Schnittstelle senden kann. Wenn die "vom Klienten"-Liste leer ist, gibt es keine abgehenden oder Schleifenrückführpakete, die darauf warten, durch die Brücke weitergeleitet oder verarbeitet zu werden. Daher führt die Überlastungssteuerlogik dann, wenn dieser Zustand nach einer Kollision mit dem Klienten erfaßt wird, eine Handlung zum Zuteilen einer Priorität zu einem nochmaligen Senden vom Klienten auf die Klientenschnittstelle und von dort zur Brücke durch. Ein Auswählen eines Rückhaltewerts von 2 garantiert das Senden des Klienten nur nach seiner ersten Kollision. Ein allgemeiner und etwas komplexerer Ansatz zum Bereitstellen einer Sicherheit für ein Senden eines Klienten nach irgendeiner Anzahl aufeinanderfolgender Kollisionen ist unten beschrieben.
- Wenn die "vom Klienten"-Liste nicht leer ist, wie es im Block 90 bestimmt ist, wird der Rückhalteparameterwert auf Null eingestellt, wie es im Block 94 angezeigt ist. Dies begünstigt die Brücke in einem Konflikt für einen Zugriff zur Klientenschnittstelle 12, da ein Rückhaltewert von Null bedeutet, daß die Brücke im Fall einer Kollision weiterhin wiederholt einen Zugriff versucht. Weil die "vom Klienten"-Liste nicht leer ist, gibt es keinen Anlaß zum Zuteilen einer Priorität zu einem weiteren Senden vom Klienten zur Brücke.
- Der zweite durch die Überlastungssteuerlogik getestete Zustand enthält zwei Tests. Wenn zwei Einträge in der "vom Klienten"-Liste sind, wie es im Block 96 bestimmt ist, zeigt dies an, daß die Liste voll ist. Beim offenbarten Ausführungsbeispiel hat die vom Klienten"-Liste Platz für ein Maximum von nur zwei Einträgen. Wenn die "vom Klienten"-Liste gemäß diesem Test voll ist, wird im Block 98 als nächstes bestimmt, ob die Eingangsliste leer ist. Wenn die "vom Klienten"-Liste voll ist und die Eingangsliste leer ist, zeigt dies an, daß die Brücke zwei im Ausgangspuffer gespeicherte abgehende Pakete zum Weiterleiten zum Kommunikationsnetz 16 hat und daß es keine ankommenden Pakete oder keine Schleifenrückführpakete gibt, die darauf warten, zur Klientenschnittstelle gesendet zu werden. In einem derartigen Zustand muß eine weitere Eingabe von der Klientenschnittstelle verhindert werden. Dies wird durch Anwenden eines "Zurückdrückens" zur Klientenschnittstelle bewirkt, wie es im Block 100 angezeigt ist. Ein Anwenden eines Zurückdrückens bedeutet ein Aufprägen eines Trägersignals auf die Schnittstelle. Gegenüber anderen Anwendern der Schnittstelle, d.h. gegenüber Klienten, erscheint die Schnittstelle als besetzt, und es können keine Datenpakete gesendet werden. Obwohl es in Fig. 3C nicht explizit gezeigt ist, ist zu verstehen, daß dann, wenn der in den Blöcken 96 und 98 bestimmte Zustand nicht mehr existiert, das Träger-Zurückdrücken entfernt wird und die Klienten wieder frei sind, auf die Klientenschnittstelle 12 zu senden.
- Wenn die "vom Klienten"-Liste nicht voll ist, wie es im Block 96 bestimmt ist, gibt es keine Notwendigkeit zum Anwenden des Zurückdrückens, weil es noch Platz im Ausgangspuffer oder im Schleifenrückführpuffer für wenigstens ein Paket von der Klientenschnittstelle gibt. Wenn die "vom Klienten"-Liste voll ist, die Eingangsliste aber nicht leer ist, wie es in den Blöcken 96 und 98 bestimmt ist, gibt es wiederum keine Notwendigkeit zum Anwenden des Zurückdrückens, weil die Eingangsliste anzeigt, daß es wenigstens ein Datenpaket gibt, das zur Klientenschnittstelle zu senden ist. Ein Senden dieses Datenpakets führt dazu, daß die Klientenschnittstelle besetzt ist und ein Senden von irgendwelchen weiteren Datenpaketen auf die Schnittstelle gesperrt wird. Weiterhin wird deshalb, weil die "vom Klienten"-Liste voll ist, der Rückhaltewert auf Null eingestellt (Block 94), was die Brücke bei einem Konflikt um die Klientenschnittstelle begünstigt.
- Obwohl mehrere Klienten an die Klientenschnittstelle 12 angeschlossen sein können, kann dann, wenn ein Zurückdrücken auf die Schnittstelle angewendet wird, keiner der Klienten über die Schnittstelle kommunizieren, und zwar nicht einmal miteinander. Jedoch ist diese Situation nicht schlechter als wenn die vielen Klienten direkt an das Kommunikationsnetz angeschlossen sind, weil die Tatsache, daß der Ausgangspuffer nicht leer ist, anzeigt, daß das Kommunikationsnetz besetzt ist, und daher dann, wenn die Klienten direkt an das Kommunikationsnetz angeschlossen wären, sie auch nicht miteinander kommunizieren könnten. In Wirklichkeit ist die Situation mit der Vorrichtung der Erfindung vor Ort etwas besser, weil die Klienten dann, wenn es nur ein Paket im Ausgangspuffer gibt, noch miteinander kommunizieren können. Sie könnten nicht kommunizieren, wenn sie direkt an das Kommunikationsnetz angeschlossen wären.
- Zusammengefaßt arbeitet die Brücke wie folgt. Wann immer ein Paket vom Klienten empfangen wird, wird ein Feld im Paket-Datei-Anfangsetikett geprüft, um zu bestimmen, ob das Paket ein Schleifenrückführpaket oder ein abgehendes Paket ist. Wenn es ein abgehendes Paket ist, wird es im Ausgangspuffer angeordnet, und ein Eintrag wird zum Ende der "vom Klienten"-Liste hinzugefügt. Wenn es ein Schleifenrückführpaket ist, wird es im Schleifenrückführpuffer angeordnet, und ein Eintrag wird zum Ende sowohl der "vom Klienten"-Liste als auch der Eingangsliste hinzugefügt. Wann immer ein Paket vom Netz empfangen wird, wird es im Eingangspuffer am Ende der Eingangsliste angeordnet. Die Listen werden gemäß der folgenden Regeln erneuert:
- 1. Alle von jeder Seite empfangenen Pakete werden zu ihren geeigneten Listen zu Beginn der Empfangsoperation hinzugefügt. Dies erfolgt zum Ermöglichen einer "Durchschneid"-Operation, bei welcher ein Paket ohne Verzögerung direkt durch die Vorrichtung der Erfindung geführt wird.
- 2. Alle zu jeder Seite gesendeten Pakete werden von den geeigneten Listen entfernt, wenn die "Netz-Akquisitionszeit" für das Senden einmal verstrichen ist, d.h. nachdem das Senden zu einer Stelle fortgeschritten ist, nach welcher ein nochmaliges Senden nicht benötigt wird.
- 3. Wenn sowohl ein ankommendes Paket als auch ein Schleifenrückführpaket zuerst während desselben Zeitzyklus der Vorrichtung erfaßt wird, erhält das ankommende Paket eine Präzedenz und wird vor dem Schleifenrückführpaket zur Eingangsliste hinzugefügt. Alternativ könnte die gegensätzliche Regel angenommen werden.
- 4. Eine Überlastungssteuerung wird durch kontinuierliches Überwachen der Listen bewirkt, wie es im folgenden beschrieben ist:
- Wenn die "vom Klienten"-Liste Null-Einträge enthält, wird der Rückhaltewert im Fall einer Kollision auf 2 anstatt auf einen zufälligen Wert eingestellt. Die Klientenvorrichtung wählt einen Wert von 0 oder 1 aus, um dadurch sicherzustellen, daß der Klient bei seinem ersten nochmaligen Senden Pakete zur Vorrichtung der Erfindung senden kann. (Ein Auswählen eines Rückhaltewerts von 2 garantiert das Senden des Klienten nur nach seiner ersten Kollision. Ein allgemeinerer und etwas komplexerer Ansatz zum Schaffen von Sicherheit eines Sendens eines Klienten nach irgendeiner Anzahl von aufeinanderfolgenden Kollisionen ist unten beschrieben.)
- Wenn die "vom Klienten"-Liste nicht leer ist, d.h. wenn sie einen oder zwei Einträge enthält, wird der Rückhaltewert nach einer Kollision auf 0 eingestellt, um dem nochmaligen Senden der Vorrichtung auf eine Kollision mit einem Klienten hin eine Priorität zuzuteilen.
- Wenn die "vom Klienten"-Liste zwei Einträge enthält, d.h. wenn sie voll ist, und die Eingangsliste leer ist, wird ein Träger-Zurückdrücken auf die Klientenschnittstelle angewendet, um ein weiteres Senden von der Klientenschnittstelle zu sperren.
- Wie es oben beschrieben ist, wird dann, wenn die "vom Klienten"-Liste leer ist, der Brückenvorrichtungs-Rückhaltewert auf 2 eingestellt, um einem nochmaligen Senden eines Klienten eine Priorität zuzuteilen. Jedoch sind die CSMA/CD-Protokolle derart, daß der Klient der Priorität nur beim ersten Versuch eines nochmaligen Sendens sicher ist. Nach einer Kollision befiehlt das normale CSMA/CD-Protokoll die Verwendung eines zufällig ausgewählten Rückhaltewerts zwischen 0 und 1. Wenn es eine zweite Kollision gibt, wird der Rückhaltewert aus 0 bis 3 ausgewählt; und nach einer dritten Kollision kann der Rückhaltewert zwischen 0 und 7 sein. Es ist möglich, daß ein Klient auf mehr als eine Kollision trifft, und zwar vielleicht aufgrund eines konkurrierenden Sendens von einem anderen Klienten, und der Rückhaltewert wird auf irgendeine Zahl größer 2 eingestellt. Es kann sein, daß der Klient dann ein Paket nicht auf die Klientenschnittstelle senden kann, und es ist nach sechzehn nicht erfolgreichen Sendeversuchen sehr unwahrscheinlich, daß der Klient ein Datenpaket wegwerfen muß. Dies ist kein ernsthaftes Problem, weil der Rückhaltewert für das nächste Paket, das der Klient versucht zu senden, für ein nochmaliges Senden auf 0 oder 1 eingestellt wird, und der Klient eine Priorität haben wird. Es kann auch ein Brückenpaketverlust auftreten, was dann auftritt, wenn die Brückenpuffer voll sind und sie kein verfügbares Puffern zum Empfangen eines ankommenden Pakets haben.
- Es ist nützlich, die verschiedenen Situationen zu betrachten, die darin resultieren könnten, daß die "vom Klienten"-Liste voll ist, d.h. zwei Einträge hat. Da "vom Klienten"-Pakete abgehende Pakete oder Schleifenrückführpakete sein können, könnte zuerst vermutet werden, daß eine volle "vom Klienten"-Liste zwei Pakete von einem Typ oder eines von jedem Typ haben könnte. In der Praxis ist die Anzahl solcher möglichen Kombinationen jedoch kleiner als dies, weil der Empfang eines Schleifenrückführpakets effektiv den Empfang weiterer Pakete von der Klientenschnittstelle sperrt. Wenn ein erstes Schleifenrückführpaket empfangen wird, erzeugt es einen Eintrag sowohl in der Eingangsliste als auch in der "vom Klienten"-Liste. Weil die "vom Klienten"-Liste nicht leer ist, wird der Rückhaltewert im Fall einer Kollision auf Null eingestellt, was der Brückenvorrichtung eine Priorität für ein nochmaliges Senden zuteilt, damit sie das Schleifenrückführpaket zurück zur Klientenschnittstelle sendet. Daher kann ein zweites Paket, gleichgültig ob es ein Schleifenrückführpaket oder ein abgehendes Paket ist, nicht empfangen werden, bis das erste Schleifenrückführpaket verarbeitet worden ist. Wenn das erste empfangene Paket ein abgehendes Paket ist, kann ein zweites Paket von der Klientenschnittstelle empfangen werden, um dadurch die "vom Klienten"-Liste zu füllen. Das zweite Paket kann ein abgehendes Paket oder ein Schleifenrückführpaket sein. Ein wichtiger Grund für ein gleichzeitiges Zulassen von nicht mehr als einem Schleifenrückführpaket besteht im Regeln der Frequenz bzw. der Häufigkeit von Schleifenrückführpaketen und im Sicherstellen, daß die Vorrichtung eine Gelegenheit zum Ausleeren ihres Eingangspuffers hat. Wenn dem Klienten erlaubt wäre, eine ununterbrochene Kette von Schleifenrückführpaketen zu senden, könnte dies eine nicht akzeptierbare Größe für einen Verlust von ankommenden Paketen verursachen.
- Ein wichtiger Aspekt der Erfindung, der noch nicht beschrieben ist, betrifft die Auswahl eines Rückhaltewerts zum Zuteilen einer Priorität zum Klienten, und zwar auf ein Erfassen einer leeren "vom Klienten"-Liste hin (Block 90, Fig. 3C). Wie es bisher beschrieben ist, entspricht der ausgewählte Rückhaltewert zwei Zeitschlitzen (Block 92, Fig. 3C). Jedoch garantiert dieser Wert das Senden des Klienten nur nach einer ersten Kollision, da der Klient nach einer ersten Kollision einen Wert zwischen 0 und 1 auswählt. Es wird in Erinnerung gerufen, daß der Klient nach einer zweiten Kollision einen Wert im Bereich von 0 bis 3 auswählt, dann einen Wert von 0 bis 7 nach einer dritten Kollision, und so weiter. Daher kann der Klient in einer Situation mit zwei oder mehreren aufeinanderfolgenden Kollisionen einen Rückhaltewert von 2 oder darüber auswählen, und wird keine Priorität über die Vorrichtung der Erfindung erreichen. Dies kann in einer nicht akzeptierbaren Größe eines Paketverlustes resultieren.
- Gemäß diesem Aspekt der Erfindung ist der in der Brückenvorrichtung der Erfindung ausgewählte Rückhaltewert immer wenigstens um Eins größer als der durch den Klienten ausgewählte Rückhaltewert. Insbesondere hält die Brücke einen Zahlenwert der Anzahl n aufeinanderfolgender Kollisionen, die für einen Zugriff zur Klientenschnittstelle aufgetreten sind. Wenn ein Paket von der Klientenschnittstelle empfangen wird, wird die Zahl n gelöscht; und wird nachfolgend für jede erfaßte Kollision zwischen der Brücke und dem Klienten inkrementiert. Wenn die Brücke durch ein Erfassen einer leeren "vom Klienten"-Liste entscheidet, dem Klienten eine Priorität zuzuteilen, wird der ausgewählte Rückhaltewert aus der n-ten Potenz von 2 berechnet, wobei n die Anzahl aufeinanderfolgender Kollisionen ist. Somit ist nach einer Kollision der Rückhaltewert 2, nach zwei aufeinanderfolgenden Kollisionen ist er 4, nach drei aufeinanderfolgenden Kollisionen ist er 8, und so weiter. Der Rückhaltewert ist daher um Eins größer als der größtmögliche Wert, der durch den Klienten ausgewählt werden kann.
- Zum Vermeiden eines nicht akzeptierbaren Paketverlusts im Eingangspuffer, weil die Vorrichtung der Erfindung viel länger vor einem Senden von ankommenden Paketen zum Klienten wartet, hat n typischerweise eine obere Grenze, die durch den akzeptierbaren Paketverlust bestimmt wird. Der gegenwärtig bevorzugte Ansatz besteht im dynamischen Auswählen der oberen Grenze von n als Funktion des verfügbaren übrigen Platzes im Eingangspuffer. Alternativ ist es, da der Paketverlust statistisch berechnet wird, auch möglich, die Anzahl von Schlitzen zum Zurückhalten derart auszuwählen, daß sie ein Bruchteil von 2n ist, wie zum Beispiel 2n-1 + 1. Statistisch wird die durch den Klienten ausgewählte zufällige Rückhalteanzahl zwischen 0 und 2n-1 Hälften der Zeit sein, so daß die Auswahl eines Rückhaltewerts von 2n-1 + 1 für die Hälfte der Zeit eine Priorität für den Klienten sicherstellen wird.
- Aus dem Vorangehenden wird klar, daß die vorliegende Erfindung einen signifikanten Fortschritt auf dem Gebiet von Brückenvorrichtungen zum Weiterleiten von Datenpaketen von einem Netz zu einem anderen darstellt. Insbesondere sorgt die Erfindung für einen minimal großen Pufferspeicher zur Speicherung von Datenpaketen von einem ausgewählten Netz, an das die Brücke angeschlossen ist. Durch Begrenzen der Menge an Pufferspeicher, der zum Speichern von Datenpaketen vorgesehen ist, die vom ausgewählten Netz empfangen werden, sorgt die Erfindung für eine billige Implementierung unter Beibehaltung einer akzeptierbaren Größe für einen Paketverlusts. Darüber hinaus erreicht die Erfindung dieses Ziel ohne signifikante Verschlechterung bezüglich der Leistungsfähigkeit verglichen mit einem direkten Anschließen von Klientenvorrichtungen an das Kommunikationsnetz. Die Vorrichtung der Erfindung sorgt für eine geringe Verbesserung bezüglich des Datendurchsatzes, da die Klientenschnittstelle eine Kommunikation zwischen vielen Klienten selbst dann zuläßt, wenn die "vom Klienten"-Liste nicht leer ist. Ein einziger Eintrag in der "vom Klienten"-Liste zeigt an, daß das Kommunikationsnetz kein Paket annehmen kann, aber es noch die Möglichkeit für ein Senden von einem Klienten zu einem anderen über die Klientenschnittstelle gibt. Offensichtlich erlegt das Vorhandensein der Vorrichtung der Erfindung eine geringe zusätzliche Latenzzeit auf, aber diese ist klein genug (30 - 40 Bytes), so daß sie als vernachlässigbar angesehen werden kann.
- Die Vorrichtung der Erfindung steuert eine Paketüberlastung in der Brücke durch Modifizieren des Rückhaltewerts, der im Fall eines Konflikts für ein Senden auf das ausgewählte Netz verwendet wird, und durch Anwenden eines Zurückdrückens zum Verstzen in einen offensichtlichen Besetztzustand des ausgewählten Netzes, wenn Bedingungen den Empfang irgendwelcher weiterer Datenpakete in der Brücke nicht begünstigen. Es wird auch klar, daß, obwohl ein Ausführungsbeispiel der Erfindung detailliert zu Darstellungszwecken beschrieben worden ist, verschiedene Modifikationen durchgeführt werden können, ohne vom Schutzumfang der Erfindung abzuweichen. Demgemäß soll die Erfindung nicht begrenzt sein, außer wie es durch die beigefügten Ansprüche gezeigt ist.
Claims (11)
1. Verfahren zum Steuern des Flusses von Datenpaketen, die entweder von
einer Halbduplex-Klientenschnittstelle (12) unter Verwendung eines Protokolls
Trägererfassungs-Mehrfachzugriff mit Kollisionserfassung (CSMA/CD) zu
einem Kommunikationsnetz (16) abgehen, oder vom Kommunikationsnetz zur
Klientenschnittstelle ankommen, in einer Weise zum Minimieren von
Pufferspeicher-Erfordernissen, wobei das Verfahren folgende Schritte aufweist:
Empfangen von ankommenden Datenpakten von einem
Kommunikationsnetz (16);
Speichern (74) jedes ankommenden Datenpakets, wenn es nötig ist, bis
die Klientenschnittstelle verfügbar wird;
Senden (86) des Pakets auf die Klientenschnittstelle (12);
Empfangen abgehender Datenpakete von der Klientenschnittstelle;
Speichern (64) jedes abgehenden Daten pakets, wenn es nötig ist, bis das
Kommunikationsnetz verfügbar wird;
Senden (82) des abgehenden Datenpakets auf das Kommunikationsnetz;
gekennzeichnet durch folgende Schritte:
Zusammenstellen (66) einer ersten Liste zum Feststellen von
Datenpaketen, die von der Klientenschnittstelle empfangen aber nicht weitergeleitet
wurden;
Zusammenstellen (76) einer zweiten Liste zum Feststellen von
Datenpaketen, die zu einer Klientenschnittstelle weiterzuleiten sind; und
Steuern der Schritte zum Senden zu und zum Empfangen von der
Klientenschnittstelle, um Puffer-Erfordernisse zu minimieren; wobei der Schritt
zum Steuern des Sendens zu und des Empfangens von der
Klientenschnittstelle ein Auswählen (92, 94) eines Zeitintervalls enthält, um vor einem
nochmaligen Senden im Fall eines Konflikts für einen Zugriff auf die
Klientenschnittstelle zu warten, wobei das Zeitintervall basierend auf der Anzahl
ankommender und abgehender Datenpakete ausgewählt wird, die für eine
spätere Verarbeitung gespeichert sind, und zwar basierend auf der ersten und
der zweiten Liste.
2. Verfahren nach Anspruch 1, das weiterhin folgende Schritte aufweist:
Empfangen eines Schleifenrückführpakets von der Klientenschnittstelle;
Speichern (68) des Schleifenrückführpakets in einem
Schleifenrückführpuffer (20C), wenn es nötig ist, für ein späteres Senden zur
Klientenschnittstelle (12).
3. Verfahren nach Anspruch 1, wobei der Schritt zum Steuern des Sendens zu
und des Empfangens von der Klientenschnittstelle derart modifiziert ist, daß
er folgende Schritte enthält:
Unterhalten (66) einer Liste von von der Klientenschnittstelle
empfangenen und noch nicht weitergeleiteten Paketen;
Unterhalten (76) einer Liste von vom Kommunikationsnetz empfangenen
und noch nicht zur Klientenschnittstelle weitergeleiteten ankommenden
Paketen; und
Durchführen geeigneter Einstellungen bezüglich der
Klientenschnittstellenprotokolle basierend auf dem Status der zwei Listen von Paketen zum
Steuern des Flusses von Datenpaketen durch die Klientenschnittstelle; wobei
der Schritt zum Durchführen geeigneter Einstellungen an den
Klientenschnittstellenprotokollen folgendes enthält:
Erfassen (90), wann die Liste von von der Klientenschnittstelle
empfangenen Paketen leer ist, und Einstellen (92) von Klientenschnittstellen-
Protokollparametern zum Begünstigen eines Erhaltens eines
Klientenschnittstellenzugriffs zu einem Klienten im Fall eines Konflikts für einen Zugriff auf
die Klientenschnittstelle, um dadurch ein erfolgreiches nochmaliges Senden
von mehreren Paketen vom Klienten auf die Klientenschnittstelle zu
garantieren; und
Erfassen (90), wann die Liste von von der Klientenschnittstelle
empfangenen Paketen nicht leer ist, und Einstellen (94) eines Klientenschnittstellen-
Protokollparameters zum Begünstigen eines Zurückhaltens eines
Klientenschnittstellenzugriffs im Fall eines Konflikts für einen Zugriff, um dadurch
einem fortgeführten Senden von Paketen vom Eingangspufferspeicher zur
Klientenschnittstelle eine Priorität zuzuteilen.
4. Verfahren nach Anspruch 3, wobei der Schritt zum Durchführen geeigneter
Einstellungen zu den Klientenschnittstellenprotokollen weiterhin folgendes
enthält:
Erfassen (96, 98), wann die Liste von von der Klientenschnittstelle
empfangenen Paketen voll ist und die Liste von ankommenden Paketen leer ist,
und Versetzen (100) der Klientenschnittstelle in einen Besetztzustand, so daß
die Klientenvorrichtung keine weiteren Datenpakete auf die
Klientenschnittstelle senden kann.
5. Verfahren nach Anspruch 3, wobei:
der Schritt (92) zum Einstellen von Klientenschnittstellen-
Protokollparametern zum Begünstigen eines Erhaltens eines Zugriffs zu einer
Klientenvorrichtung ein Auswählen eines größeren Zeitintervalls zum Warten
vor einem Senden nach einem Konflikt für die Schnittstelle enthält; und
der Schritt (94) zum Einstellen von Klientenschnittstellen-
Protokollparametern zum Begünstigen eines Zurückhaltens eines Zugriffs zur
Klientenschnittstelle ein Auswählen eines Zeitintervalls von Null zum Warten
vor einem nochmaligen Senden nach einem Konflikt für die Schnittstelle
enthält.
6. Verfahren nach Anspruch 4, wobei:
der Schritt zum Versetzen der Klientenschnittstelle in einen
Besetztzustand ein Anlegen eines Trägersignals an die Klientenschnittstelle enthält.
7. Vorrichtung zum Verarbeiten von Daten, die von einer Halbduplex-
Klientenschnittstelle (12) abgehen, unter Verwendung eines Protokoll
Trägererfassungs-Mehrfachzugriff mit Kollisionserfassung (CSMA/CD) zu einem
Kommunikationsnetz (16) abgehen, und vom Kommunikationsnetz zur
Klientenschnittstelle ankommen, während Pufferspeicher-Erfordernisse minimiert
sind, wobei die Vorrichtung folgendes aufweist:
eine Einrichtung (18) zum Empfangen ankommender Datenpakete von
einem Kommunikationsnetz (16);
einen Eingangspufferspeicher (20A) zum Speichern jedes ankommenden
Datenpakets, bis die Klientenschnittstelle verfügbar ist;
eine Einrichtung (15) zum Senden des ankommenden Datenpakets auf
die Klientenschnittstelle;
eine Einrichtung (14) zum Empfangen abgehender Datenpakete von der
Klientenschnittstelle (12);
einen Ausgangspufferspeicher (20B) zum Speichern jedes abgehenden
Datenpakets, bis das Kommunikationsnetz verfügbar ist;
eine Einrichtung (19) zum Senden eines Daten pakets vom
Ausgangspufferspeicher auf das Kommunikationsnetz,
gekennzeichnet durch:
eine Einrichtung (22B) zum Zusammenstellen einer ersten Liste zum
Feststellen von Datenpaketen, die von der Klientenschnittstelle empfangen
aber nicht weitergeleitet wurden; und
eine Einrichtung (22a) zum Zusammenstellen einer zweiten Liste zum
Feststellen von Datenpaketen, die zur Klientenschnittstelle weiterzuleiten
sind; und
eine Einrichtung (22) zum Steuern der Einrichtung zum Senden zu und
zum Empfangen von der Klientenschnittstelle, um Puffer-Erfordernisse zu
minimieren; wobei die Einrichtung zum Steuern des Sendens zu und des
Empfangens von der Klientenschnittstelle eine Einrichtung zum Auswählen
eines Zeitintervalls enthält, um vor einem nochmaligen Senden im Fall eines
Konflikts für einen Zugriff zur Klientenschnittstelle zu warten, wobei das
Zeitintervall basierend auf der Anzahl ankommender und abgehender Datenpakete
ausgewählt wird, die für eine spätere Verarbeitung gespeichert sind, und zwar
basierend auf der ersten und der zweiten Liste.
8. Vorrichtung nach Anspruch 7, wobei die Einrichtung zum Steuern der
Einrichtung zum Senden zu und zum Empfangen von der Klientenschnittstelle zum
Minimieren von Puffer-Erfordernisse folgendes enthält:
eine Einrichtung zum Unterhalten einer Liste von von der
Klientenschnittstelle empfangenen und noch nicht weitergeleiteten Paketen;
eine Einrichtung zum Unterhalten einer Liste von vom
Kommunikationsnetz empfangenen und noch nicht zur Klientenschnittstelle weitergeleiteten
ankommenden Paketen; und
eine Einrichtung, die in Antwort auf den Status der zwei Listen von
Paketen betreibbar ist, zum Durchführen einer geeigneten Einstellung zu den
Klientenschnittstellenprotokollen zum Steuern des Flusses weiterer Datenpakete
auf die Klientenschnittstelle, und wobei die Einrichtung zum Durchführen
geeigneter Einstellungen zu den Klientenschnittstellenprotokollen folgendes
enthält:
eine Einrichtung, die nur dann betreibbar ist, wenn die Liste von von der
Klientenschnittstelle empfangenen Paketen leer ist, zum Einstellen von
Klientenschnittstellen-Protokollparametern zum Begünstigen eines Erhaltens eines
Klientenschnittstellenzugriffs zu einem Klienten im Fall eines Konflikts für
einen Zugriff zur Klientenschnittstelle, um dadurch ein erfolgreiches
nochmaliges
Senden eines Pakets vom Klienten auf die Klientenschnittstelle zu
garantieren; und
eine Einrichtung, die nur dann betreibbar ist, wenn die Liste von von der
Klientenschnittstelle empfangenen Paketen nicht leer ist, zum Einstellen von
Klientenschnittstellen-Protokollparametern zum Begünstigen eines
Zurückhaltens eines Klientenschnittstellenzugriffs im Fall eines Konflikts für einen
Zugriff, um dadurch einem fortgeführten Senden von Paketen vom
Eingangspufferspeicher zur Klientenschnittstelle eine Priorität zuzuteilen.
9. Vorrichtung nach Anspruch 8, wobei die Einrichtung zum Durchführen
geeigneter Einstellungen zu den Klientenschnittstellenprotokollen weiterhin
folgendes enthält:
eine Einrichtung, die nur dann betreibbar ist, wenn die Liste von der
Klientenschnittstelle empfangenen Paketen voll ist, und die Liste von
ankommenden Paketen leer ist, zum Zwingen der Klientenschnittstelle in einen
Besetztzustand, so daß die Klientenvorrichtung keine weiteren Datenpakete auf die
Klientenschnittstelle senden kann.
10. Vorrichtung nach Anspruch 8, wobei:
die Einrichtung zum Einstellen von Klientenschnittstellen-
Protokollparametern zum Begünstigen eines Erhaltens eines Zugriffs zu einer
Klientenvorrichtung eine Einrichtung zum Auswählen eines größeren
Zeitintervalls zum Warten vor einem nochmaligen Senden nach einem Konflikt für
die Schnittstelle enthält; und
die Einrichtung zum Einstellen von Klientenschnittstellen-
Protokollparametern zum Begünstigen eines Zurückhaltens eines Zugriffs auf
die Klientenschnittstelle eine Einrichtung zum Auswählen eines Zeitintervalls
von Null zum Warten vor einem nochmaligen Senden nach einem Konflikt für
die Schnittstelle enthält.
11. Vorrichtung nach Anspruch 9, wobei:
die Einrichtung zum Versetzen der Klientenschnittstelle in einen
Besetztzustand eine Einrichtung zum Anlegen eines Trägersignals an die
Klientenschnittstelle enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/722,747 US5339313A (en) | 1991-06-28 | 1991-06-28 | Method and apparatus for traffic congestion control in a communication network bridge device |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69219965D1 DE69219965D1 (de) | 1997-07-03 |
DE69219965T2 true DE69219965T2 (de) | 1998-01-29 |
Family
ID=24903207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69219965T Expired - Fee Related DE69219965T2 (de) | 1991-06-28 | 1992-06-19 | Verfahren und Vorrichtung zur Überlastregelung von Verkehr in einer Brücke eines Kommunikationsnetzwerkes |
Country Status (4)
Country | Link |
---|---|
US (1) | US5339313A (de) |
EP (1) | EP0529774B1 (de) |
JP (1) | JPH06244843A (de) |
DE (1) | DE69219965T2 (de) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742760A (en) * | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5553081A (en) * | 1994-04-08 | 1996-09-03 | Echelon Corporation | Apparatus and method for detecting a signal in a communications system |
JP2644185B2 (ja) * | 1994-06-27 | 1997-08-25 | 甲府日本電気株式会社 | データ処理装置 |
US5648959A (en) * | 1994-07-01 | 1997-07-15 | Digital Equipment Corporation | Inter-module interconnect for simultaneous use with distributed LAN repeaters and stations |
US5490144A (en) * | 1994-07-29 | 1996-02-06 | Motorola, Inc. | Method and system for efficiently optimizing throughput and minimizing delay for a channel in a communication system |
ZA959722B (en) * | 1994-12-19 | 1996-05-31 | Alcatel Nv | Traffic management and congestion control for packet-based networks |
US5673254A (en) * | 1995-06-07 | 1997-09-30 | Advanced Micro Devices Inc. | Enhancements to 802.3 media access control and associated signaling schemes for ethernet switching |
US5859837A (en) * | 1995-06-07 | 1999-01-12 | Advanced Micro Devices Inc. | Flow control method and apparatus for ethernet packet switched hub |
US5721874A (en) * | 1995-06-16 | 1998-02-24 | International Business Machines Corporation | Configurable cache with variable, dynamically addressable line sizes |
FR2744310A1 (fr) * | 1996-01-31 | 1997-08-01 | Canon Kk | Procede, moyen et systeme de communication sur un support de transmission partage |
US6023563A (en) * | 1996-08-20 | 2000-02-08 | Shani; Ron | Networking switch having the network presence of a bridge |
US5931915A (en) | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
US6078959A (en) * | 1998-01-29 | 2000-06-20 | Opuswave Networks, Inc. | Subscriber-originated call deferred queuing |
JP2001045031A (ja) * | 1999-08-03 | 2001-02-16 | Seiko Epson Corp | 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体 |
EP1250776A1 (de) * | 1999-10-29 | 2002-10-23 | Forskarpatent i Västsverige AB | Verfahren und anordnung zur stauungssteuerung in paketnetzen unter verwendung von schwellen und rücksetzung von paketflüssen |
US7298691B1 (en) | 2000-08-04 | 2007-11-20 | Intellon Corporation | Method and protocol to adapt each unique connection in a multi-node network to a maximum data rate |
US6909723B1 (en) | 2000-08-04 | 2005-06-21 | Intellon Corporation | Segment bursting with priority pre-emption and reduced latency |
US7352770B1 (en) | 2000-08-04 | 2008-04-01 | Intellon Corporation | Media access control protocol with priority and contention-free intervals |
US7469297B1 (en) | 2000-08-04 | 2008-12-23 | Intellon Corporation | Mechanism for using a quasi-addressed response to bind to a message requesting the response |
US6907044B1 (en) | 2000-08-04 | 2005-06-14 | Intellon Corporation | Method and protocol to support contention-free intervals and QoS in a CSMA network |
US6987770B1 (en) | 2000-08-04 | 2006-01-17 | Intellon Corporation | Frame forwarding in an adaptive network |
US7120847B2 (en) | 2002-06-26 | 2006-10-10 | Intellon Corporation | Powerline network flood control restriction |
US7826466B2 (en) | 2002-06-26 | 2010-11-02 | Atheros Communications, Inc. | Communication buffer scheme optimized for VoIP, QoS and data networking over a power line |
US8149703B2 (en) | 2002-06-26 | 2012-04-03 | Qualcomm Atheros, Inc. | Powerline network bridging congestion control |
AU2003284317A1 (en) | 2002-10-21 | 2004-05-13 | Intellon Corporation | Contention-free access intervals on a csma network |
US20050021737A1 (en) * | 2003-05-01 | 2005-01-27 | Ellison Carl M. | Liveness protocol |
US7639608B1 (en) | 2003-10-23 | 2009-12-29 | Foundry Networks, Inc. | Priority aware MAC flow control |
US7761589B1 (en) | 2003-10-23 | 2010-07-20 | Foundry Networks, Inc. | Flow control for multi-hop networks |
US7281187B2 (en) | 2003-11-20 | 2007-10-09 | Intellon Corporation | Using error checking bits to communicated an address or other bits |
US8090857B2 (en) | 2003-11-24 | 2012-01-03 | Qualcomm Atheros, Inc. | Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks |
US7660327B2 (en) | 2004-02-03 | 2010-02-09 | Atheros Communications, Inc. | Temporary priority promotion for network communications in which access to a shared medium depends on a priority level |
US7715425B2 (en) * | 2004-02-26 | 2010-05-11 | Atheros Communications, Inc. | Channel adaptation synchronized to periodically varying channel |
US7500012B2 (en) * | 2004-03-31 | 2009-03-03 | International Business Machines Corporation | Method for controlling dataflow to a central system from distributed systems |
JP4271089B2 (ja) * | 2004-06-17 | 2009-06-03 | パナソニック株式会社 | 無線通信方法および無線通信装置 |
US7505405B2 (en) * | 2004-10-08 | 2009-03-17 | International Business Machines Corporation | Method, apparatus, and computer program product for optimizing packet flow control through buffer status forwarding |
US20060195464A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Dynamic data delivery |
US7636370B2 (en) | 2005-03-03 | 2009-12-22 | Intellon Corporation | Reserving time periods for communication on power line networks |
TWI266505B (en) * | 2005-06-01 | 2006-11-11 | Realtek Semiconductor Corp | Multi-class data transmission apparatus |
US7822059B2 (en) | 2005-07-27 | 2010-10-26 | Atheros Communications, Inc. | Managing contention-free time allocations in a network |
US8175190B2 (en) | 2005-07-27 | 2012-05-08 | Qualcomm Atheros, Inc. | Managing spectra of modulated signals in a communication network |
WO2007119404A1 (ja) * | 2006-03-20 | 2007-10-25 | National Institute For Materials Science | Ni基超合金とその製造方法およびタービンブレードまたはタービンベーン部品 |
WO2008141165A1 (en) | 2007-05-10 | 2008-11-20 | Intellon Corporation | Managing distributed access to a shared medium |
US8144606B1 (en) * | 2007-11-15 | 2012-03-27 | Marvell International Ltd. | Interfacing messages between a host and a network |
US7978607B1 (en) | 2008-08-29 | 2011-07-12 | Brocade Communications Systems, Inc. | Source-based congestion detection and control |
US8660013B2 (en) | 2010-04-12 | 2014-02-25 | Qualcomm Incorporated | Detecting delimiters for low-overhead communication in a network |
CN102573098B (zh) | 2010-12-24 | 2015-07-29 | 华为技术有限公司 | 通信信息发送方法、装置和系统 |
US8891605B2 (en) | 2013-03-13 | 2014-11-18 | Qualcomm Incorporated | Variable line cycle adaptation for powerline communications |
CN112053334B (zh) * | 2020-08-31 | 2023-04-28 | 中冶赛迪信息技术(重庆)有限公司 | 一种加热炉冷坯料台双钢识别方法、系统及介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4063220A (en) * | 1975-03-31 | 1977-12-13 | Xerox Corporation | Multipoint data communication system with collision detection |
US4234952A (en) * | 1979-06-07 | 1980-11-18 | Ford Motor Company | Conflict resolution by retransmission delay on shared communication medium |
US4292623A (en) * | 1979-06-29 | 1981-09-29 | International Business Machines Corporation | Port logic for a communication bus system |
US4500990A (en) * | 1982-04-14 | 1985-02-19 | Nec Corporation | Data communication device including circuitry responsive to an overflow of an input packet buffer for causing a collision |
US4706081A (en) * | 1984-12-14 | 1987-11-10 | Vitalink Communications Corporation | Method and apparatus for bridging local area networks |
US4727537A (en) * | 1985-12-24 | 1988-02-23 | American Telephone And Telegraph Company | Flow control arrangement for the transmission of data packets to a communication network |
US4876742A (en) * | 1987-03-23 | 1989-10-24 | Gary Vacon | Apparatus and method for providing a wireless link between two local area network systems |
US4809265A (en) * | 1987-05-01 | 1989-02-28 | Vitalink Communications Corporation | Method and apparatus for interfacing to a local area network |
US4811337A (en) * | 1988-01-15 | 1989-03-07 | Vitalink Communications Corporation | Distributed load sharing |
US4959829A (en) * | 1989-03-30 | 1990-09-25 | Wang Laboratories, Inc. | Dual cable communication system |
US5058109A (en) * | 1989-06-28 | 1991-10-15 | Digital Equipment Corporation | Exclusionary network adapter apparatus and related method |
-
1991
- 1991-06-28 US US07/722,747 patent/US5339313A/en not_active Expired - Lifetime
-
1992
- 1992-06-19 EP EP92305675A patent/EP0529774B1/de not_active Expired - Lifetime
- 1992-06-19 DE DE69219965T patent/DE69219965T2/de not_active Expired - Fee Related
- 1992-06-26 JP JP4168738A patent/JPH06244843A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH06244843A (ja) | 1994-09-02 |
US5339313A (en) | 1994-08-16 |
DE69219965D1 (de) | 1997-07-03 |
EP0529774B1 (de) | 1997-05-28 |
EP0529774A1 (de) | 1993-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69219965T2 (de) | Verfahren und Vorrichtung zur Überlastregelung von Verkehr in einer Brücke eines Kommunikationsnetzwerkes | |
DE3780799T2 (de) | Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem. | |
DE60203285T2 (de) | Verfahren und empfänger zur verbesserten datenpaketübertragung in ein übertragungsprotokoll | |
DE3780800T2 (de) | Anordnung zur ueberlastregelung fuer paketvermittlungssystem. | |
DE69031266T2 (de) | Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk | |
DE69426139T2 (de) | Kollisionverminderungsverfahren für Ethernet-Netze | |
DE60114097T2 (de) | Verfahren und System zur Verbesserung der Netzleistungsfähigkeit unter Verwendung eines leistungssteigernden Proxies | |
DE602004000296T2 (de) | Verfahren und Vorrichtung für die Erhöhung des drahtlosen Datendurchsatzes von QOS gesteuerten Paketen | |
DE60200680T2 (de) | Fast optimale Fairness-Backoff-Verfahren und -System | |
DE69425352T2 (de) | Verfahrenund Schaltungsanordnung für Backoff-Zeit-Bewertung bei Ethernet | |
DE3686629T2 (de) | Paketvermittlungsnachrichtensystem hoher geschwindigkeit mit durchgehender fluesssteuerung und sendewiederholung. | |
DE69130187T2 (de) | Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern | |
DE69026331T2 (de) | Station zu Station Vollduplexkommunikation bei Kommunikationsnetzwerken | |
DE60219932T2 (de) | Ssystgem und Verfahren zur Verwendung von Algorithmen und Protokollen zur optimierung von CSMA-Protokollen (Carrier Sense Multiple Access) in drahtlosen Netzwerken | |
DE3532439C2 (de) | ||
DE69033551T2 (de) | Vermeidung von Überlastung in Computer-Netzwerken mit Hilfe von Verzögerung | |
DE69932069T2 (de) | Arq protokoll mit packetbasierter zuverlässigkeitseinstellung | |
DE69221134T2 (de) | Verfahren zur betriebssteuerung eines cdma fernmeldevermittlungsnetzwerks | |
DE69827053T2 (de) | Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk | |
DE60031263T2 (de) | Umhüllungsverfahren für protokolldateneinheiten | |
DE60030751T2 (de) | Verfahren und vorrichtung zur koordinierung des zugriffs auf gemeinsam genutzte paralele datenkanäle | |
DE69935554T2 (de) | Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen | |
DE69126640T2 (de) | Flusssteuerung für Hochgeschwindigkeitsnetzwerk | |
DE602005003492T2 (de) | Verfahren, Vorrichtung und System zum synchronisierten Kombinieren von Paketdaten | |
DE69017154T2 (de) | Verfahren zur Regelung des Datenstroms in einem Breitband ISDN und Netz zur Realisierung. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |