-
HINTERGRUND DER ERFINDUNG
-
Die
Erfindung betrifft allgemein Verfahren und Systeme zur Verwaltung
von Datenübertragungen
innerhalb eines Netzes und insbesondere Verfahren und Systeme zur
Verwaltung von Datenkollisionen und Übertragungswiederholungen innerhalb
eines Netzes, das eine Anzahl von Endgeräten aufweist, die an einen
gemeinsamen Knotenpunkt (Hub) angeschlossen sind.
-
BESCHREIBUNG DES STANDES
DER TECHNIK
-
Ein
lokales Netz (Local Area Network, LAN) ermöglicht Datenübertragungen
zwischen einer Anzahl von miteinander verbundenen Endgeräten, normalerweise
Computern. Die Steuerung eines LAN kann zentralisiert oder verteilt
sein. Eine zentralisierte Steuerung beinhaltet normalerweise ein
einziges Gerät,
welches die Datenübertragungen
zwischen den Endgeräten
verwaltet. Dagegen steuern in einem Netz mit verteilter Steuerung
die Endgeräte durch
ihr Zusammenwirken den Betrieb des Netzes. Die Software und die
Hardware zur Regelung des Sendens und des Empfangs von Nachrichten
in der Form von Datenpaketen sind in jedem der Endgeräte enthalten,
welche das Netz bilden. Ein Vorteil des Schemas mit verteilter Steuerung
besteht darin, dass das Hinzufügen
oder Entfernen eines Endgerätes zum
bzw. aus dem Netz auf einfache Weise vorgenommen werden kann.
-
Es
existiert eine Anzahl von verschiedenen Konfigurationen (d.h. Topologien)
für LANs.
In einem Maschennetz sind sämtliche
Engeräte
mit allen anderen Endgeräten
verbunden. Dagegen verbindet ein Ringnetz die Endgeräte der Reihe
nach, so dass eine durchgehende Schleife gebildet wird. Eine andere
Alternative ist ein sternförmig
konfiguriertes Netz, in welchem sämtliche Endgeräte an einem "Zentrum" angeschlossen sind.
Die Verbindung am Zentrum kann vereinfacht werden, indem ein Knotenpunkt
(Hub) verwendet wird. Der Hub kann ein Switching Hub (Switch) sein,
welcher Datenpakete nur zu dem Endgerät oder den Endgeräten routet,
für welches
(welche) die Datenpakete bestimmt sind. Jedes Paket besitzt einen
Header, welcher das Zielendgerät
angibt. Der Switching Hub bestimmt das Ziel eines Datenpaketes aus
dessen Header und routet das Paket zu dem entsprechenden Ziel. Switching
Hubs sind besonders für
Netze geeignet, in welchen die Leistungsanforderungen erfordern,
dass nur ausgewählte
Endgeräte
Datenpakete empfangen.
-
Die
meisten LANs, welche einen Hub enthalten, verwenden keinen Switching
Hub. Stattdessen ist innerhalb des Hubs ein gewöhnlicher Bus ausgebildet. Datenpakete
werden zu sämtlichen
Endgeräten
innerhalb des Netzes gesendet. Das heißt, jedes Endgerät ist ein "Zielendgerät", ist jedoch möglicherweise
nicht das vorgesehene Endgerät.
Wenn ein Paket an einem Endgerät
empfangen wird, wird der Header des Pakets gelesen, um zu bestimmen,
ob das Endgerät
das vorgesehene Endgerät
ist. Ein vorgesehenes Endgerät
liest und verarbeitet das Datenpaket, während die anderen Endgeräte das Paket verwerfen.
Das vorgesehene Endgerät
kann ein Quittungssignal (ACK) an das Ursprungsendgerät senden,
da das Ursprungsendgerät
das Datenpaket nochmals senden würde,
wenn das Signal ACK nicht empfangen würde.
-
Innerhalb
eines LAN, das einen Hub aufweist, welcher die Datenpakete zu den
verschiedenen Endgeräten
weitersendet, muss ein Protokoll vorhanden sein, um die Möglichkeit
des Zugriffs auf den Hub zu bestimmen. Das Protokoll innerhalb eines
Ethernet-Netzes wird als ein Carrier Sense Multiple Access (Mehrfachzugriff
mit Trägerprüfung, CSMA)
Protokoll bezeichnet. Ein Endgerät,
welches darauf vorbereitet ist, ein Datenpaket zu senden, "horcht", um zu bestimmen,
ob das Netz frei ist oder ob es gerade von einem anderen Endgerät verwendet
wird. Normalerweise haben sämtliche
Endgeräte dieselbe
Priorität
und beginnen zu senden, wenn das Netz frei ist. Sobald die Übertragung
eingeleitet worden ist, erkennen die anderen Endgeräte im Netz, dass
das Netz belegt ist, und unterlassen es dann, eine Übertragung
einzuleiten. Es gibt jedoch Zeitpunkte, zu denen zwei Endgeräte gleichzeitig
beginnen möchten
zu senden, was eine Übertragungskollision
verursacht. Daher weist das Ethernet-Netz normalerweise CSMA mit
Kollisionserkennung (CSMA with Collision Detection, CSMA/CD) auf.
-
Im
US-Patent Nr. 4,536,903, das Yang et al. erteilt wurde, wird das
CSMA/CD Protokoll beschrieben. Wenn zwei Endgeräte oder "Knoten" Übertragungen
einleiten und eine Kollision der Datenpakete erkennen, so beenden
die Endgeräte
die Übertragungen.
An jedem Endgerät
wird eine "Back-off-Zeit" (Wartezeit) berechnet.
Die Berechnung erfolgt durch einen Back-off-Algorithmus, welcher
das Produkt einer Slotzeit von 51,2 μs und einer Zahl innerhalb eines
definierten Bereiches ist. Der Bereich hängt von der Anzahl der Kollisionen
ab, in die ein bestimmtes Datenpaket verwickelt wird. Wenn für das Datenpaket
wiederholte Kollisionen auftreten, wird angenommen, dass die Arbeitslast
hoch ist und dass die durchschnittliche Back-off-Zeit größer sein
sollte. 1 ist eine Tabelle der Back-off-Berechnungen, die
in einem Ethernet-Netz ausgeführt
werden.
-
Ein
Problem bei der Anwendung des Back-off-Algorithmus von 1 besteht
darin, dass ein Endgerät
das Netz "erobern" kann. Der Eroberungs-Effekt
wird in Yang et al. beschrieben. Wenn zwei Endgeräte gleichzeitig Übertragungen
einleiten, tritt eine erste Kollision auf. Wie in der Tabelle von 1 dargestellt,
wählt dann
jedes Endgerät
eine Back-off-Zeit, die gleich 0 oder 1 mal Slotzeit von 51,2 μs ist. Falls
ein erstes Endgerät
Back-off-Zeit 0 wählt
und das zweite Endgerät 1 Slotzeit
als seine Back-off-Zeit wählt,
wird das erste Endgerät
sein erstes Paket erfolgreich senden. Nimmt man an, dass das erste
Endgerät
ein zweites Datenpaket zu senden hat, so werden die zwei Endgeräte nach
Beendigung der ersten erfolgreichen Übertragung erneut um einen
Zugang zum Netz "wetteifern". Es wird erneut
eine Kollision erfolgen. Jedoch wird es für das Datenpaket des ersten
Endgerätes
zu einer ersten Kollision kommen, während das Datenpaket des zweiten
Endgerätes
seine zweite Kollision erfahren wird. Infolgedessen wird das erste
Endgerät
innerhalb des Bereiches von 0 bis 1 wählen, während das zweite Endgerät innerhalb
des Bereiches von 0 bis 3 wählen
wird, wie in 1 dargestellt ist. Offensichtlich
ist es wahrscheinlicher, dass das erste Endgerät erfolgreich ist. Die Wahrscheinlichkeit
wächst,
wenn das erste Endgerät
erfolgreich ist und dieselben zwei Endgeräte im Anschluss an die zweite Übertragung durch
das erste Endgerät
um den Zugang "wetteifern". Das Datenpaket
des zweiten Endgerätes
erfährt
dann eine dritte Kollision, und das zweite Endgerät wählt innerhalb
des Bereiches von 0 bis 7. Wenn sich der Prozess 16 mal fortsetzt,
wird das Datenpaket des zweiten Endgerätes verworfen. Somit geht ein
Datenpaket verloren, weil das erste Endgerät in der Lage war, das Netz
zu "erobern".
-
Yang
et al. beschreibt ein Verfahren zur Verminderung der ungünstigen
Auswirkungen des Eroberungs-Effektes (Capture Effect). Der Ethernet-Standard
der Bestimmung von Back-off-Berechnungen,
der in 1 dargestellt ist, wird in dem Falle modifiziert,
wenn ein Endgerät
den Übertragungskanal
des Netzes "erobert". Beim Erkennen eines solchen
Ereignisses sieht das Verfahren eine weniger aggressive, d.h. längere Back-off-Zeit
vor, bevor wenigstens der erste Versuch einer Übertragungswiederholung von
einem Knoten unternommen wird, welcher den Kanal "erobert" hat. Außerdem kann
ein gestoppter Back-off-Algorithmus verwendet werden, um die ungünstigen
Effekte eines "Eroberungs"-Zustands zu reduzieren.
Das Verfahren funktioniert für seinen
beabsichtigten Zweck gut, doch kann unter gewissen Bedingungen das
Implementieren der weniger aggressiven Back-off-Berechnung und/oder das
Vorsehen des gestoppten Back-off-Algorithmus die Latenzzeit des
Netzes erhöhen.
-
Ein
anderes Verfahren zur Verringerung der Wahrscheinlichkeit, dass
ein Endgerät
das Netz "erobert" und damit andere
Endgeräte
ausschließt,
besteht darin, Kollisionen zwischen Datenpaketen zu minimieren oder
zu unterbinden. Netze, die für
eine kollisionsfreie Übertragung
konzipiert sind, sind in den US-Patenten Nr. 5,546,385, das Capsi
et al. erteilt wurde, und 4,998,247, das Irvine-Halliday et al. erteilt
wurde, beschrieben. Das Netz von Capsi et al. verwendet einen Switched
Hub, um die Datenpakete selektiv zu den vorgesehenen Endgeräten zu routen. Die
Verwendung von Switched Hubs, um Kollisionen zu vermeiden, wurde
oben beschrieben und ist in der Technik bekannt. Das Netz enthält Kommunikationsanschlüsse, welche
einen Zielanschluss für
jede ankommende Nachricht bestimmen und danach verschachtelte Übertragungen
der Pakete zu einer Menge virtueller First-In-First-Out- (FIFO-) Sendespeicher durchführen, welche
die Pakete für
abgehende Übertragung
zwischenspeichern. Irvine-Halliday
et al. beschreibt ein Netz, welches einen Controller Hub als Alternative
zu einer CSMA/CD Verarbeitung verwendet. Der Controller Hub sendet
ein Datenpaket von einem der Endgeräte zu einem gewünschten
Zielendgerät
sofort weiter, wenn das Paket das einzige Paket ist, das von dem
Controller Hub empfangen wurde. Wenn jedoch eine Anzahl von Paketen
von verschiedenen Endgeräten
gleichzeitig von dem Controller empfangen wird, so sendet der Controller ein
ausgewähltes
Paket sofort weiter, während
er die anderen Pakete zwecks anschließender Übertragung zeitweilig speichert.
Wenn mehr als Endgerät für den Empfang
eines Pakets vorgesehen ist, so wird die Übertragung des Pakets zu sämtlichen
vorgesehenen Endgeräten
gleichzeitig durchgeführt.
Jedes Endgerät
ist mittels zweier Hochgeschwindigkeitslinks, welche Vollduplexfähigkeit
sicherstellen, an den Controller Hub angeschlossen. Die Vollduplexfähigkeit
unterbindet Kollisionen zwischen Paketen, welche gleichzeitig an
einem Endgerät
ankommen und abgehen.
-
Die
Netze von Caspi et al. und Irvine-Halliday et al. sind dazu bestimmt,
Kollisionen zu vermeiden. Die Netze funktionieren einwandfrei, jedoch
bei erhöhten
Kosten.
-
Außerdem kann
sich unter bestimmten Bedingungen die Latenzzeit der Netze erhöhen.
-
In
US 5351 241 wird ein Verfahren
zur Verringerung der Auswirkung von Kollisionen zwischen einem Hub
und einer empfangenden Station beschrieben.
-
Paketkollisionen
sind nicht notwendigerweise schädlich
für den
Betrieb eines Netzes. Kollisionsereignisse können wirksam genutzt werden,
um den Zugriff auf einen Kanal zu steuern, der von verschiedenen
Endgeräten
im Netz gemeinsam genutzt wird. Benötigt werden ein Verfahren und
ein Netz zur Verwaltung von Kollisionen bei der Datenübertragung, derart,
dass ein hoher Netzdurchsatz und eine niedrige Netzlatenz auf eine
kostengünstige
Art und Weise erreicht werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
Erfindung stellt ein Verfahren und ein Netz bereit, wie sie in den
unabhängigen
Ansprüchen dargelegt
sind.
-
Weitere
Ausführungsformen
sind in den abhängigen
Ansprüchen
dargelegt.
-
Bei
der bevorzugten Ausführungsform
verwenden das Netz und die Datenpaket-Übertragungen ein Carrier Sense
Multiple Access with Collision Detection (CSMA/CD) Protokoll, um
die Möglichkeit des
Zugangs zum Übertragen
von Datenpaketen zu bestimmen. Außerdem ist bei der bevorzugten
Ausführungsform
der Back-off-Algorithmus so implementiert, dass er für Paketübertragungen
vom Hub zu den Endgeräten
eine höhere
Priorität
festlegt als für Paketübertragungen
von den Endgeräten
zu dem Hub.
-
Um
die ungünstigen
Effekte zu minimieren, welche eintreten würden, wenn ein Endgerät das Netz "erobern" würde, so
dass Übertragungen
durch andere Endgeräte
ausgeschlossen werden, beinhaltet das Verfahren vorzugsweise das Überwachen
von Übertragungswiederholungen
nach Kollisionen, so dass erkannt wird, wenn es einem Endgerät wiederholt
gelingt, im Anschluss an Kollisionen bei der Übertragung Zugang zu dem Hub
zu erlangen. Kollisionsereignisse können absichtlich herbeigeführt werden,
um die Wahrscheinlichkeit zu verringern, dass das wiederholt erfolgreiche
Endgerät
ein anderes Endgerät
daran hindert, erfolgreich Zugang zu erlangen.
-
Der Überlauf
von Datenpaketen am Speicher des Hubs wird verhindert, indem der
Hub in einen Sperrmodus versetzt wird, wenn die gespeicherten Datenpakete
eine vorgewählte
Speicherschwelle überschreiten.
Der Sperrmodus kann durch Auslösen von
Pseudo-Kollisionsbedingungen für
beliebige Datenpakete, die zum Hub gesendet werden, während die
Speicherschwelle überschritten
ist, implementiert werden.
-
Das
Netz, welches das Verfahren der Kollisionsverwaltung benutzt, enthält den Hub,
der einen ausreichenden Pufferspeicher zum Speichern von Datenpaketen
aufweist, die Endgeräte,
die an den Hub durch Kanäle
für den
Austausch der Datenpakete angeschlossen sind, eine Hub-Carrier-Sense-Schaltung (Hub-Kanalüberwachungs-Schaltung) am
Hub, um für
die einzelnen Endgeräte
die Zugänglichkeit
der Endgeräte
zu bestimmen, und einen Transmission Tracker (Übertragungs-Verfolger), um für die einzelnen Endgeräte und für die einzelnen
Pakete zu bestimmen, welche Endgeräte einzelne Pakete empfangen
haben und welche Endgeräte
einzelne Pakete noch empfangen müssen.
Somit ist das Netz in der Lage, die Endgeräte auf einer paketweisen Basis
zu unterscheiden. Bei der bevorzugten Ausführungsform sind die Endgeräte an den
Hub in einer Sternkonfiguration angeschlossen, die eine Halbduplex-Anordnung
aufweist, und der Hub ist ein Ethernet-Hub.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Tabelle von Back-off-Berechnungen gemäß dem Stand der Technik.
-
2 ist
ein Blockschaltbild eines Netzes, in dem eine Kollisionsverwaltung
gemäß der Erfindung
benutzt wird.
-
3 ist
ein Blockschaltbild der Komponenten eines Endgerätes von 2.
-
4 ist
ein Blockschaltbild der Komponenten des Hubs von 2.
-
5 ist
ein Prozessablaufdiagramm eines Verfahrens zur Verwaltung von Kollisionen
bei der Datenübertragung
innerhalb des Netzes von 2 gemäß der Erfindung.
-
AUSÜHRLICHE BESCHREIBUNG
-
Es
wird auf 2 Bezug genommen; ein Netz ist
in der Form dargestellt, dass es eine Sternkonfiguration mit sechs
Endgeräten 10, 12, 14, 16, 18 und 20 aufweist,
die an einen Hub 22 angeschlossen sind. Bei der bevorzugten
Ausführungsform
ist das Netz ein Ethernet-Netz, welches ein Carrier Sense Multiple
Access with Collision Detection (CSMA/CD) Protokoll verwendet. Jedoch
kann auch in anderen Netzen, welche Kollisionserkennung aufweisen,
das Verfahren angewendet werden, das weiter unten beschrieben wird.
-
Jedes
Endgerät 10-20 ist
mit dem Hub durch einen Kanal 24, 26, 28, 30, 32 und 34 verbunden. Physisch
können
die Kanäle
verdrillte Doppelleitungen, Koaxialkabel oder Lichtwellenleiterkabel
sein. Stattdessen können
die Kanäle
auch drahtlos sein. Die Endgeräte
sind als Personalcomputer dargestellt, jedoch können an ihrer Stelle auch andere
Datenzugriffs-Vorrichtungen, welche Datenpakete senden und empfangen,
verwendet werden.
-
Bei
der bevorzugten Ausführungsform
routet der Hub 22 nicht Datenpakete von einem Ursprungsendgerät 10-20 zu
irgendeinem bestimmten Endgerät.
Vielmehr sind sämtliche
Endgeräte
Zielendgeräte.
Infolgedessen wird jedes Datenpaket, das von einem der Endgeräte zu dem
Hub 22 gesendet wird, zu allen anderen Endgeräten weitergesendet.
Beim Empfang eines Datenpaketes verarbeitet ein Endgerät den Header,
um zu bestimmen, ob die Nachricht für das betreffende Endgerät bestimmt
ist. Normalerweise verarbeitet nur das vorgesehene Endgerät den Rest
des Paketes. Das vorgesehene Endgerät kann auch ein Quittungssignal
an das Ursprungsendgerät senden,
so dass das Ursprungsendgerät
darüber
informiert wird, dass eine nochmalige Übertragung desselben Datenpakets
nicht erforderlich ist.
-
Der
Hub 22 ist als eine CSMA-Schaltung 36 enthaltend
dargestellt. Wie in der Technik wohlbekannt ist, wird eine solche
Schaltung verwendet, um zu bestimmen, ob ein Netz frei ist, um eine
Paketübertragung
einzuleiten. Ein Endgerät
oder ein Hub, welcher darauf vorbereitet ist, ein Datenpaket zu
senden, "horcht", um zu bestimmen,
ob das Netz belegt oder frei ist. Der Hub 22 enthält außerdem eine
Kollisionserkennungs-Schaltung 38. Sobald eine Übertragung
eingeleitet wird, bestimmt die Kollisionserkennungs-Schaltung, ob
das gesendete Datenpaket mit einem anderen Datenpaket kollidiert
ist. Ist dies der Fall, wird die Übertragung beendet, und es
wird eine Back-off-Zeit berechnet, bevor eine erneute Übertragung
des Datenpaketes erfolgt. Wie weiter oben erwähnt, ist 1 eine
Tabelle der standardmäßigen Back-off-Berechnungen, die
in einem Ethernet-Netz ausgeführt
werden.
-
Neben
der CSMA-Schaltung 36 und der Kollisionserkennungs-Schaltung 38 enthält der Hub 22 einen
Pufferspeicher 40. Wenn ein Datenpaket an dem Hub von einem
der Endgeräte 10-20 empfangen wird, "dominiert" das Datenpaket die
Kollisionsdomäne,
die durch das lokale Netz (LAN) definiert ist. Dieses erste Datenpaket
wird im Pufferspeicher 40 gespeichert, während es
zu sämtlichen
Endgeräten
in der Kollisionsdomäne
gesendet wird. Wenn das Paket ohne eine Kollision gesendet wird,
so wird es aus dem Pufferspeicher gelöscht. Falls jedoch während des
Weitersendens des ersten Datenpakets zu den Endgeräten ein
zweites Endgerät
ein zweites Datenpaket sendet, erfolgt eine Kollision, und diese
wird von der Kollisionserkennungs-Schaltung 38 wahrgenommen.
-
Der
Hub 22 von 2 grenzt die Kollision auf einen
einzigen Kanal ein. Somit wird, wenn das erste Datenpaket von dem
Endgerät 10 stammte
und das zweite Datenpaket, welches die Kollision verursacht hat,
von dem Endgerät 18 stammt,
die Übertragungswiederholung
nach Ablauf einer Back-off-Zeit auf das Endgerät 18 über Kanal 32 eingegrenzt.
Bei der bevorzugten Ausführungsform
sind dann die Back-off-Berechnungen am Hub 22 und am Endgerät 18 unterschiedlich,
wobei sie dem Hub ermöglichen, bei
seinen Übertragungswiederholungen
Priorität
zu haben. Zum Beispiel kann dem Hub die Back-off-Zeit von 0 × 51,2 μs zugeordnet
sein. Nachdem das gespeicherte Datenpaket erfolgreich von dem Hub 22 zu
dem Endgerät 18 gesendet
worden ist, wird das Datenpaket aus dem Puffer 40 gelöscht.
-
Indem
der Hub 22 als die Vorrichtung mit höherer Priorität bei Übertragungen
von Datenpaketen festgelegt wird, kann der Umfang des Puffers 40 klein gehalten
werden. Indem die Kollision auf einen einzigen Kanal eingegrenzt
wird, wie etwa Kanal 32, wird die Leerlaufzeit der physikalischen
Schicht des LAN verringert. Infolgedessen wird ein höherer Netzdurchsatz
erzielt, und Datenpakete erfahren eine im Durchschnitt kürzere Latenzzeit
durch das Netz.
-
Der
Hub 22 ist außerdem
als über
einen Kanal 42 mit einem Weitverkehrsnetz (Wide Area Network,
WAN) verbunden dargestellt. Sende- und Empfangsvorgänge von
Datenpaketen zu und von dem WAN werden auf eine herkömmliche
Art und Weise abgewickelt. Die Verbindung zu dem WAN ist für die Erfindung nicht
entscheidend. Es ist anzumerken, dass, wenn zwei Hubs miteinander
verbunden sind, für
Kollisionen zwischen den zwei Hubs herkömmliche Berechnungen der Back-off-Zeit
angewendet werden sollten.
-
Es
wird nun auf 3 Bezug genommen; sie zeigt
eine Schaltungsanordnung des Endgerätes 10, die einen
Paketpuffer 44 und einen Sender 46, der an den
Kanal 24 zum Hub angeschlossen ist, enthält. Datenpakete,
welche für
die Übertragung
zum Hub ordnungsgemäß verarbeitet
wurden, werden in dem Paketpuffer 44 gespeichert, bis der
Treiber des Senders 46 aktiviert wird. Sämtliche
Komponenten des Endgerätes 10 von 3 sind
herkömmliche Komponenten
von Endgeräten
in einem Ethernet-Netz.
-
Das
Endgerät 10 enthält einen
Empfänger 48,
welcher mit einer Carrier-Sense-Schaltung (Kanalüberwachungs-Schaltung) 50,
einem Kollisionsdetektor 52 und einem digitalen Verarbeitungssystem (Digital
Processing System, DPS) 54 für Datenpakete verbunden ist.
Wenn der Sender 46 bereit ist, ein Datenpaket aus dem Puffer 44 weiterzusenden,
wird die Carrier-Sense-Schaltung 50 verwendet,
um die Verfügbarkeit
der Verbindung 24 zu dem Hub zu bestimmen. Falls die Verbindung
nicht belegt ist, signalisiert die Carrier-Sense-Schaltung dem Sender,
dass das Datenpaket gesendet werden kann. Dagegen wird die Übertragung
verzögert,
wenn die Carrier-Sense-Schaltung bestimmt, dass die Verbindung belegt
ist.
-
Der
Kollisionsdetektor 52 wird verwendet, nachdem die Übertragung
eines Datenpakets aus dem Puffer 44 durch den Sender 46 ausgelöst worden
ist. In dem Falle, wenn ein ankommendes Datenpaket ungefähr zu demselben
Zeitpunkt abgeschickt wird, zu dem die Übertragung aus dem Paketpuffer 44 erfolgt,
beendet der Kollisionsdetektor die abgehende Übertragung und löst die Implementierung
des Back-off-Algorithmus 56 aus.
Zum Beispiel kann die standardmäßige Back-off-Tabelle des Ethernets
von 1 verwendet werden. Die Back-off-Zeit wird innerhalb
eines Bereichs zufällig
gewählt,
der durch die Anzahl der Kollisionen bestimmt wird, welche das betreffende
Datenpaket erfahren hat. Nach Ablauf der Back-off-Zeit wird eine Übertragungswiederholung eingeleitet.
Das CSMA/CD-Protokoll, das an dem Endgerät 10 ausgeführt wird,
ist in der Technik wohlbekannt.
-
Das
Paket-DPS 54 empfängt
ankommende Datenpakete und verarbeitet die Pakete unter Anwendung
von Verfahren, die in der Technik wohlbekannt sind. Vorzugsweise
sendet das Endgerät 10 ein
Quittungssignal, dass das Datenpaket empfangen worden ist.
-
4 zeigt
Komponenten des Hubs 22 von 2. Bei einer
Ausführungsform
enthält
der Hub sechs Kanäle,
wobei auf jeden Kanal durch eines der sechs Endgeräte 10-20 von 1 zugegriffen
wird. Die sechs Kanäle
sind in 4 durch eine einzige Linie 57 dargestellt.
Der Hub ist als sechs Empfänger 58, 158, 258, 358, 458 und 558 enthaltend
dargestellt. Jeder Empfänger
ist mit einem anderen Endgerät
und mit einer von sechs Carrier-Sense-Schaltungen 36, 136, 236, 336, 436 und 536 gekoppelt.
Jede Carrier-Sense-Schaltung wird verwendet, um die Verfügbarkeit
von Verbindungen zu dem Endgerät
zu überwachen,
die mit dem betreffenden Endgerät
verknüpft
sind. Jede Carrier-Sense-Schaltung des Hubs funktioniert auf dieselbe
Weise, wie es unter Bezugnahme auf das Endgerät 10 in 3 beschrieben wurde.
In ähnlicher
Weise funktioniert der Kollisionsdetektor 38 auf dieselbe
Weise wie der Kollisionsdetektor 52 in 3,
jedoch ist er mit jeder der sechs Carrier-Sense-Schaltungen verbunden,
um eine Kollision zu erkennen, gleichgültig, welche der sechs Kanäle von dem
Kollisionsereignis betroffen sind.
-
Bei
der bevorzugten Ausführungsform
unterscheidet sich die Vorrichtung für den Back-off-Algorithmus 60 des
Hubs 22 von der Vorrichtung für den Back-off-Algorithmus 56 von 3.
Vorzugsweise ist der Zeiten-Bereich für die Berechnung einer Back-off-Verzögerung für den Hub
kleiner, als er für ein
einzelnes Endgerät 10-20 ist.
Tatsächlich
kann die Back-off-Verzögerung für den Hub
null sein, so dass eine Übertragungswiederholung
nach einer Kollision im Wesentlichen sofort erfolgt. Die kürzeren Back-off-Zeiten
an dem Hub stellen sicher, dass dem Hub bei dem erneuten Senden
von Datenpaketen im Anschluss an eine Kollision Priorität eingeräumt wird. Das
Prioritätsschema
ist dazu bestimmt, den Durchsatz zu erhöhen, die Paketlatenz zu verringern
und den erforderlichen Umfang des Pufferspeichers 40 zu verkleinern.
-
Wie
bereits erwähnt,
werden Datenpakete von den Endgeräten 10-20,
die am Hub 22 empfangen werden, im Pufferspeicher 40 gespeichert.
Ein Puffermanager 59 sendet die Pakete von den Empfängern 58, 158, 258, 358, 458 und 558 zum
Pufferspeicher weiter. Wie in 4 dargestellt,
enthält
der Speicher eine Anzahl von Pufferplätzen 62, 64, 66, 68, 70 und 72.
Jeder Pufferplatz ist in der Lage, ein einzelnes Datenpaket zu speichern.
Der Puffermanager weist auch einen Eingang auf, über den er mit dem Kollisionsdetektor 38 verbunden
ist. Wenn ein Kollisionsereignis erkannt wird, während der Puffermanager ein
erstes Datenpaket in einen bestimmten Pufferplatz schreibt, wird
die Übertragung
des ersten Datenpaketes von dem sendenden Endgerät beendet. Somit empfängt dann
der Pufferplatz nur einen Teil des ersten Datenpaketes. Der Puffermanager wird
vom Kollisionsdetektor 38 über die Kollision informiert
und löscht
das unvollständige
erste Datenpaket aus dem Pufferplatz. Infolge dessen werden durch
Kollision verfälschte
Pakete nicht im Pufferspeicher für
die Übertragung
zu den Endgeräten
gespeichert.
-
Bei
einer Ausführungsform
ist der Speicher 40 eine Vorrichtung vom Typ "First In First Out", so dass die Datenpakete
zu den verschiedenen Endgeräten 10-20 in
derselben Reihenfolge weitergesendet werden, in der sie empfangen
werden. Bei einer anderen Ausführungsform
enthält
der Hub eine Paketauswahl-Vorrichtung 74, welche bestimmt,
auf welchen Pufferplatz 62-72 während einer Übertragung zugegriffen
wird. Wenn zum Beispiel das Datenpaket auf dem Pufferplatz 62 auf
eine Übertragung
zu sämtlichen
Zielendgeräten
wartet, während
das Datenpaket auf dem Pufferplatz 64 zu allen Zielendgeräten mit
Ausnahme des Endgerätes 16 übertragen worden
ist, kann die Vorrichtung 74 eine Übertragung des Paketes auf
dem Pufferplatz 64 in Reaktion darauf wählen, dass an der Schaltung 36 ermittelt
worden ist, dass der Kanal zum Endgerät 16 verfügbar ist;
es wird jedoch eine Kollision erfolgen, wenn das Paket auf dem Pufferplatz 62 global übertragen
wird. Die Paketauswahl-Vorrichtung 74 kann verwendet werden,
um den Durchsatz des LAN weiter zu verbessern.
-
Der
Hub enthält
eine Transmission-Tracking-Vorrichtung (Übertragungsverfolgungs-Vorrichtung) 76,
welche verwendet wird, um die Endgeräte 10-20,
welche eine Sendung eines bestimmten Datenpaketes nicht empfangen
haben, von denjenigen Endgeräten
zu trennen, welche das Datenpaket empfangen haben. Das heißt, die "Verfolgung" wird für jedes
einzelne Endgerät
und für
jedes einzelne Paket durchgeführt.
In dem soeben dargelegten Beispiel bestimmt die Tracking-Vorrichtung 76,
dass das Datenpaket auf dem Pufferplatz 62 von keinem der Zielendgeräte empfangen
worden ist, während
das Datenpaket auf dem Pufferplatz 64 von sämtlichen Zielendgeräten mit
Ausnahme des Endgerätes 16 empfangen
worden ist. Zum Beispiel kann die Tracking-Vorrichtung eine Tabelle
in einem Computerspeicher erstellen. Nachdem sämtliche Zielendgeräte das Datenpaket
eines bestimmten Pufferplatzes empfangen haben, wird das Paket aus
dem Speicher 40 gelöscht.
-
Der
Hub enthält
sechs herkömmliche
Sender 78, 178, 278, 378, 478 und 578,
welche verwendet werden, um Datenpakete aus dem Speicher 40 zu den
sechs Zielendgeräten 10-20 weiterzusenden. Wie
bereits erwähnt,
sendet der Hub jedes ankommende Datenpaket zu sämtlichen Endgeräten, wobei jedem Endgerät ermöglicht wird
zu bestimmen, ob das Paket für
das jeweilige Endgerät
bestimmt war.
-
Ein
Puffermonitor 80 wird verwendet, um den verfügbaren Platz
im Pufferspeicher 40 zu verfolgen. Das Problem besteht
darin, dass ankommende Pakete weiter an den Empfängern 58, 158, 258, 358, 458 und 558 empfangen
werden, nachdem der Speicherplatz erschöpft ist, was zur Folge hat,
dass Pakete verloren gehen. Daher wird eine Speicherschwelle gewählt, und
der Puffermonitor 80 erkennt, wenn die Schwelle überschritten
worden ist. In dem Falle, wenn die Schwelle überschritten worden ist, löst der Monitor
einen Pseudokollisionsgenerator 82 aus, welcher ein Signal
zu den Sendern 78, 178, 278, 378, 478 und 578 sendet,
zum zeitweiligen Sperren von Übertragungen
von den Endgeräten 10-20 zum
Speicher 40. Eine Kollisionsbedingung wird selektiv verhängt, bis
die Übertragung
von Paketen aus dem Speicher 40 bewirkt, dass sich der
belegte Speicherplatz unter die vorgewählte Schwelle verringert. Der Pseudokollisionsgenerator 82 ist
für die
Erfindung nicht entscheidend. Es können auch andere Mechanismen
zur Erzeugung einer Kollisionsbedingung, um Übertragungen von den Endgeräten zu verhindern,
verwendet werden.
-
Ein
anderes Problem beim Betrieb eines Hochleistungs-LAN ist, dass ein
Endgerät
das Netz "erobert". Durch diesen "Eroberungs"-Effekt kann ein erstes
Endgerät
nach wiederholten Erfolgen bei der Erlangung des Zugangs zum Hub
nach Kollisionen einen "Wettbewerbsvorteil" gegenüber einem
oder mehreren anderen Endgeräten
erhalten. Wenn zum Beispiel das Endgerät 12 von 2 mit
dem Endgerät 14 konkurriert
und das Endgerät 12 drei
Pakete im Anschluss an Kollisionen mit demselben Paket vom Endgerät 14 erfolgreich übertragen
hat, so wird eine nächste
Kollision zwischen Paketen von denselben Endgeräten wahrscheinlich zur Folge
haben, dass das Endgerät 12 erneut
den Zugang zum Hub 22 erlangt. Dies liegt daran, dass das
vierte Paket vom Endgerät 12 seine
erste Kollision erfährt,
während das
Paket vom Endgerät 14 seine
vierte Kollision erfährt.
Die Implementierung der Back-off-Berechnungen
der Tabelle in 1 ermöglicht dann dem Endgerät 12,
den "Wettbewerbsvorteil" gegenüber dem Endgerät 14 zu
besitzen.
-
In 4 enthält der Hub
einen Eroberungs-Monitor (Capture Monitor) 84, welcher
verwendet wird, um ein Ereignis zu erkennen, bei welchem es einem
der sechs Endgeräte
wiederholt gelingt, den Zugang für Übertragungswiederholungen
im Anschluss an Kollisionen zu erlangen. Wenn ein solches Ereignis
eintritt, kann eine Back-off-Korrekturvorrichtung 86 verwendet
werden, um die Wahrscheinlichkeit zu verringern, dass das wiederholt
erfolgreiche Endgerät
im Anschluss an eine nächste Kollision
Zugang erlangt. Die Back-off-Korrekturvorrichtung
ist an den Pseudokollisionsgenerator 82 angeschlossen,
um selektiv Kollisionen hervorzurufen, die dazu bestimmt sind, den "Eroberungs-Zustand" zu korrigieren.
-
Die
Betriebsweise des LAN von 2 wurde
oben beschrieben. Gleichwohl sind die Prozessschritte zur Verwaltung
von Kollisionen bei Übertragungen
innerhalb des Netzes in 5 dargestellt. In Schritt 88 wird
ein erstes Datenpaket von einem der Endgeräte empfangen. Zum Beispiel
kann das Ursprungsendgerät
das Endgerät 10 in 2 und 3 sein.
Das erste Datenpaket wird im Pufferspeicher 40 gespeichert
90. Das erste Paket "dominiert" die Kollisionsdomäne während des
Eintreffens.
-
Während das
erste Datenpaket gespeichert wird, wird die Verfügbarkeit des Netzes für ein globales
Senden des ersten Datenpaketes geprüft, wie in Schritt 91 dargestellt.
Falls in dem Entscheidungsschritt 93 ermittelt wird, dass
das Netz verfügbar
ist, wird das erste Paket im Schritt 92 von dem Hub 22 nichtselektiv
zu den Endgeräten
weitergesendet. Das heißt,
bei der bevorzugten Ausführungsform
wird das Paket von einem Endgerät
zu sämtlichen
Endgeräten innerhalb
des sternförmigen
LAN weitergesendet. Jedes einzelne Zielendgerät bestimmt dann, ob es das
vorgesehene Endgerät
für die
betreffende Nachricht des Datenpaketes ist. Während der nichtselektiven Übertragung
von Schritt 92 können
eine oder mehrere Kollisionen zwischen dem ersten Paket und einem
Paket von einem Zielendgerät
erfolgen. Im Entscheidungsschritt 94 werden die Kollisionserkennungs-Schaltungen 38, 138, 238, 338, 438 und 538 des
Hubs 22 auf eine herkömmliche
Art und Weise verwendet, um Kollisionen zu erkennen. Wenn jedoch
eine Kollision erkannt wird, trennt der Hub die kollisionsfreien
Endgeräte
von den Kollisionen hervorrufenden Endgeräten.
-
Für Situationen,
in welchen sich im Schritt 94 keine Kollisionen ereignen,
wird im Schritt 96 die nichtselektive Übertragung zu den Endgeräten beendet,
und im Schritt 98 wird das erste Paket aus dem Speicher
gelöscht.
Falls sich dagegen eine oder mehrere Kollisionen ereignen, wird
im Schritt 100 die Übertragung
zu den kollisionsfreien Endgeräten
beendet, während
im Schritt 102 die Kollisionen hervorrufenden Endgeräte markiert
werden. Es wird kurz nochmals auf 4 Bezug
genommen; die Transmission-Tracking-Vorrichtung 76 wird
verwendet, um die Übertragungen
für jedes
einzelne Paket und für jedes
einzelne Endgerät
zu verfolgen.
-
Danach
wird eine Back-off-Zeit für
die erneute Übertragung
des ersten Pakets zu den gekennzeichneten, Kollisionen hervorrufenden
Endgeräten berechnet,
wie in Schritt 104 dargestellt ist. Bei der bevorzugten
Ausführungsform
sind die Back-off-Berechnungen des Hubs von den Back-off-Berechnungen
für die
Endgeräte
verschieden. Die Back-off-Zeiten für den Hub sind vorzugsweise
kürzer
als jene der Endgeräte,
was dem ersten Datenpaket eine höhere Priorität im Netz
verleiht. Diese höhere
Priorität
ist dazu bestimmt, die Leerlaufzeit der physikalischen Schicht zu
verringern, wodurch der Netzdurchsatz erhöht wird und die Latenzzeit
der Pakete durch das Netz hindurch verringert wird und die Größe des Hub-Puffers 40 verringert
wird. Optional beträgt
die Back-off-Zeit für
den Hub 0.
-
Im
Schritt 106 wird die Teilsegment-Verfügbarkeit geprüft, unter
Verwendung der einen oder mehreren Carrier-Sense-Schaltungen 36, 136, 236, 336, 436 und 536,
welche mit den Kollisionen hervorrufenden Endgeräten verknüpft sind. Falls im Entscheidungsschritt 108 der
Kanal nicht für
die Übertragung
des ersten Paketes zu den gekennzeichneten, Kollisionen hervorrufenden
Endgeräten
verfügbar
ist, kehrt der Prozess zu Schritt 106 zurück. Wenn
das Netz verfügbar
ist, wird das erste Paket selektiv übertragen. Das heißt, das
Paket wird zu den im Schritt 102 gekennzeichneten, Kollisionen
hervorrufenden Endgeräten
weitergesendet. Sobald die Übertragung eingeleitet
worden ist, springt der Prozess in einer Schleife zurück zum Entscheidungsschritt 94 des
Erkennens von Kollisionen, die sich eventuell ereignet haben. Wenn
sich keine Kollisionen ereignet haben, wird im Schritt 96 die
selektive Übertragung
abgeschlossen, und im Schritt 98 wird das erste Paket aus dem
Speicher gelöscht.
Wenn sich dagegen eine Kollision ereignet hat, setzt sich der Prozess
mit Schritt 100 fort. Im Schritt 100 wird, falls
eine Teilmenge der früher
Kollisionen hervorrufenden Endgeräte nunmehr kollisionsfrei ist,
die Übertragung
zu der Teilmenge von Endgeräten
abgeschlossen. Die restlichen Endgeräte werden dann im Schritt 102 als
die Kollisionen hervorrufenden Endgeräte gekennzeichnet, die Transmission-Tracking-Vorrichtung 76 wird aktualisiert,
und der Prozess setzt sich fort, bis sämtliche Zielendgeräte die Sendung
empfangen haben und das erste Paket im Schritt 98 aus dem
Speicher gelöscht
worden ist.