-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung bezieht sich auf Netzwerke im Allgemeinen, einschließlich Ethernet-Netzwerken,
und insbesondere auf die Implementierung eines Ethernet-Netzwerks
mit Vollduplex-Flusssteuerung.
-
HINTERGRUND
DER ERFINDUNG
-
Ein
Netzwerk ist eine Kommunikationseinrichtung, die mehreren Arbeitsstationen,
Computern oder anderer Ausrüstung
(im Folgenden kollektiv als "Computer" bezeichnet) erlaubt,
miteinander zu kommunizieren. Abschnitte eines Netzwerkes umfassen
Hardware und Software, z. B. die Computer oder Stationen (die individuell
eine oder mehrere Zentraleinheiten, Schreib/Lese-Speicher und dauerhaften
Speicher umfassen können),
die Schnittstellenkomponenten, die Kabel oder Faseroptiken, die
verwendet werden, um diese zu verbinden, sowie Software, die den
Zugang zum Netzwerk und den Informationsfluss über das Netzwerk regelt. In Netzwerken,
in denen der Datenfluss gleich 100 MBits/s ("Mbps")
oder höher
ist, ist das Übertragungsmedium häufig eine
Faseroptik. In Netzwerken, in denen eine langsamere Datenrate akzeptabel
ist, z. B. 10 Mbps, kann das Übertragungsmedium
ein Koaxialkabel, oder, was häufig
für ein
Ethernet-Netzwerk der Fall ist, eine verdrillte Leitung sein.
-
In
einem Netzwerk definiert die Netzwerkarchitektur Protokolle, Nachrichtenformate
und andere Standards, an die sich die Computer und andere Anlagen
sowie die Software halten müssen.
Die meisten Netzwerkarchitektu ren wenden ein Modell an, das funktionale
Schichten umfasst, in welchen eine gegebene Schicht für die Durchführung eines
spezifischen Satzes von Funktionen und für die Bereitstellung eines
spezifischen Satzes von Diensten verantwortlich ist. Die von jeder
Schicht und den Zwischenschichtschnittstellen bereitgestellten Dienste
können
eine Netzwerkarchitektur definieren. Protokolle definieren die Dienste,
die über
eine Schichtschnittstelle abgedeckt werden, sowie die Regeln, die
bei der Verarbeitung befolgt werden, die als Teil dieses Dienstes
durchgeführt
wird.
-
Mehrere
Organisationen haben Modelle und Standards vorgeschlagen, die innerhalb
der Netzwerkbetriebsgemeinde akzeptiert worden sind. Die International
Standards Organisation ("ISO") hat z. B. ein Sieben-Schicht-Referenzmodell für den Computernetzwerkbetrieb
vorgeschlagen, das als Open Systems Interconnect ("OSI") Architektur bezeichnet
wird. Ein weiterer Satz von Standards wurde vom Institute of Electrical and
Electronics Engineers ("IEEE") veröffentlicht,
ein Satz von vorgeschlagenen Lokalbereich-Netzwerkstandards ("LAN"-Standards),
bekannt als IEEE-Projekt 802. Dieses Modell ist konform mit dem
Sieben-Schicht-OSI-Modell, jedoch direkt nur zu den untersten zwei
OSI-Schichten, nämlich
der physikalischen Schicht und der Datenverbindungsschicht.
-
1 zeigt
ein Netzwerk gemäß der IEEE-Projekt-802-Modifikation
des ISO-Sieben-Schicht-Modells, bei
dem zwei Computer 10, 10' über ein physikalisches Verbindungsmedium 20,
wie z. B. ein Kabel, miteinander Daten austauschen können. Selbstverständlich kann
in der Praxis ein Netzwerk viele Hunderte von Computern aufweisen,
statt nur zwei.
-
Die
unterste Schicht 30 sowohl im ISO-Modell als auch im Projekt-802-Modell ist eine physikalische Schicht,
die die Verbindungen zwischen zwei Maschinen (z. B. Computern 10, 10') betrifft,
um eine Übermittlung
von Bitströmen über ein
physikalisches Übermittlungsmedium
(z. B. ein Kabel 20) zu erlauben. Die physikalische Schicht 30 befasst
sich somit mit den Typen der Verkabelung, den Kabelsteckern, Verbindern
und dergleichen.
-
Wie
im Folgenden kurz beschrieben wird, zielt die vorliegende Erfindung
auf Ethernet-Netzwerke die sich an den Carrier-Sense-Multiple-Access-With- Collision-Detection-("CSMA/CD")-Standard halten
(CSMA/CD = Trägererfassungs-Mehrfachzugang
mit Kollisionserkennung). Im 802-Modell für CSMA/CD existiert eine Abstimmungsschnittstelle 40,
die von einem Medienunabhängige-Schnittstelle-("MII")-Standard definiert wird,
für die
Abstimmungsunterschicht-Schnittstelle 40 zwischen der physikalischen
Schicht 30 und der Medienzugangskontrolle-("MAC")-Unterschicht 50B.
Der existierende MII-Signalsatz bietet unabhängige 4 Bit breite Pfade für das Senden
und Empfangen von Daten, und enthält spezifische "Zusammenschaltungen" ("hooks") für die Verbindungsebene-Datenflusssteuerung.
(Hier bezieht sich die Flusssteuerung auf die Unterbindung des Zugangs
zu einem Netzwerk oder einer oder mehrerer Verbindungen innerhalb
des Netzwerks.)
-
Interessanterweise
hat vor der Annahme von MII der MAC-Standard ein Einzelträger-Erfassungssignal
("CRS") von der physikalischen
Schicht zum MAC definiert, dass die MAC verwendet, um den Zustand
des Sende- und Empfangsmediums zu beschreiben. Dieses eine CRS-Signal
wurde vom MAC-Sendeprozess verwendet, um eine Abgrenzung der Datenübermittlung
zu implementieren, und wurde vom MAC-Empfangsprozess verwendet,
um die empfangenen Daten einzufassen. Mit der Einführung von
MII wurde dieses eine CRS-Signal zerlegt in ein CRS-Signal, das
wiederum zum MAC-Sendeprozess
gelangte, um eine Abgrenzung der Datenübermittlung zu implementieren,
und in ein Empfangsdaten-Gültig-Signal
("RX_DV"), das zum MAC-Empfangsprozess
gelangte. Somit wird mit MII das CRS nur vom MAC-Sendeprozess verwendet.
-
Unter
MII sind Daten und Abgrenzungen synchron zum entsprechenden Takt,
wobei zwei asynchrone Medienstatussignale bereitgestellt werden,
nämlich
Trägererfassung
("CRS") und Kollision ("COL"). MII bietet eine
Zweidraht-Seriell-Managementschnittstelle für die Steuerung und die Statussammlung,
nämlich
den Managementdatentakt ("MDC") und die Managementdateneingabe/Ausgabe
("MDIO"). Im OSI-Sieben-Schichten-Modell
ist die Schicht über
der physikalischen Schicht eine Datenverbindungsschicht, die für die fehlerfreie Übermittlung
von Datenrahmen zwischen Netzwerkknoten verantwortlich ist. Ein
Datenverbindungssteuerprotokoll beschreibt die Operation und die
Schnittstellen dieser Schicht, die auch höhere Schichten im Modell vor den
Belangen des physikalischen Übermittlungsmediums
abschirmen muss.
-
In
dem in 1 gezeigten 802-Modell ist die Datenverbindungsschicht
jedoch in die MAC-Schicht 50B und eine darüberliegende
logische Verbindungskontrollschicht ("LCC"-Schicht) 50A unterteilt.
Die Medienzugangskontroll-Unterschicht befasst sich mit dem Zugangskontrollverfahren,
um zu bestimmen, wie die Verwendung des physikalischen Übermittlungsmediums
zu kontrollieren ist. Die LCC-Unterschicht 50A ist verantwortlich
für medienunabhängige Datenverbindungsfunktionen
und erlaubt der darüberliegenden
Netzwerkschicht 60, auf LAN-Dienste zuzugreifen, unabhängig davon,
wie das Netzwerk implementiert ist. Gemäß der 802-Architektur bietet
die LCC-Unterschicht 50A Dienste für das Netzwerk 60 in
der gleichen Weise an, wie es ein herkömmliches Datenverbindungsprotokoll
in einem Weitbereichsnetzwerk tun würde.
-
Die
MAC-Unterschicht 50B bietet Dienste der darüber liegenden
LLC-Unterschicht 50A an
und managt die gemeinsame Nutzung des Übertragungsmediums zwischen
den verschiedenen Stationen des Netzwerks. Eine Medienzugangsmanagementfunktion
empfängt
einen Rahmen von der Datenkapselungsfunktion, nachdem die notwendigen
Kontrollinformationen hinzugefügt
worden sind. Anschließend
ist das Medienzugangsmanagement verantwortlich für die Sicherstellung der physikalischen Übermittlung
der Daten. Der Datenrahmen in einer Ethernet-Vollduplex-Umgebung
hat eine maximale Größe von 1.518
Bits.
-
Es
existieren mehrere 802-Standards für die MAC-Unterschicht 50B,
jedoch ist nur der "CSMA/CD"-Standard (Trägererfassungs-Mehrfachzugriff
mit Kollisionserkennung) für
die vorliegende Erfindung relevant, genauer der 802.3-Standard.
Der bestehende 802.3-MAC-Standard enthält derzeit mehrere Einrichtungen
zur Durchführung
einer Flusssteuerung in einer Halbduplex-Umgebung, einschließlich eines
Abgrenzungsprozesses und von Kollisionssuche- und Rücksetzprozeduren.
CSMA/CD definiert die Datenkapselungs/Entkapselungs- und Medienzugangsmanagementfunktionen,
die von der MAC-Unterschicht 50B selbst durchgeführt werden,
wobei die Datencodierungs/Decodierungs-Funktion von der darunterliegenden
physika lischen Schicht 30 durchgeführt wird.
-
Die
physikalische Übermittlung
der Daten kann unter Verwendung einer Trägererfassung sichergestellt
werden, um die Übermittlung
zu verzögern,
bis das Netzwerk bereit ist. Kurz, eine Sendestation (z. B. ein Computer
oder Benutzer 10) hört
oder überwacht
das Übertragungsmedium
(z. B. das Kabel 20), bevor er sendet, um zu ermitteln,
ob eine weitere Station (z. B. ein Computer oder Benutzer 10') derzeit eine
Nachricht sendet, um z. B. zu erkennen, ob das Medium frei ist.
Unter Verwendung der Dienste der physikalischen Schicht 30 ermittelt
das Medienzugangsmanagement, ob das Übertragungsmedium (oder der
Träger)
derzeit verwendet wird. Wenn das Medium nicht verwendet wird, leitet
das Medienzugangsmanagement den Datenrahmen für die Übermittlung an die physikalische
Schicht 30 weiter. Selbst nachdem die Übermittlung des Rahmens begonnen
hat, überwacht
das Medienzugangsmanagement weiterhin den Träger. Wenn der Träger belegt
ist, setzt das Medienzugangsmanagement die Überwachung fort, bis keine
anderen Stationen senden. Das Medienzugangsmanagement wartet anschließend eine
spezifizierte Zufallszeit, um dem Netzwerk zu erlauben, bereit zu
werden, und beginnt anschließend
die Übermittlung.
-
Es
können
jedoch andere Stationen, die Nachrichten zu senden haben, gleichzeitig
hören,
erkennen, dass das Übermittlungsmedium
ruhig erscheint, und gleichzeitig beginnen, Nachrichten zu senden.
Das Ergebnis ist eine Kollision und verstümmelte Nachrichten. Wenn eine
Signalkollision entdeckt wird, ignorieren die empfangenden Stationen
die verstümmelte Übertragung,
wobei die sendenden Stationen das Senden von Nachrichten sofort
einstellen und ein Störungssignal über das
Medium senden. Nach der Kollision versucht jede sendende Station
nach dem Abwarten einer zufälligen
Rücksetzverzögerungszeitperiode
für den
Träger, um
bereit zu werden, erneut zu senden. Somit muss eine sendende Station
ausreichend lange hören,
um sicherzustellen, dass keine Kollision stattgefunden hat.
-
Wie
in 1 gezeigt ist, befasst sich die Netzwerkschicht 60 mit
der Lenkung von Daten von einem Netzwerkknoten zu einem weiteren.
Es ist die Aufgabe der Netzwerkschicht 60, Daten zwischen
Netzwerkknoten zu lenken.
-
Die
Transportschicht bietet eine Datenübertragung zwischen zwei Stationen
mit einem vereinbarten Niveau an Qualität, sobald eine Verbindung zwischen
den Stationen eingerichtet ist. Die Transportschicht 70 wählt eine
bestimmte Klasse des Dienstes aus, die zu verwenden ist, überwacht
die Übermittlung,
um die erhaltene Dienstqualität
sicherzustellen, und benachrichtigt die Stationen (oder Benutzer),
wenn die Qualität nicht
aufrechterhalten werden kann.
-
Die
Sitzungsschicht 80 bietet Dienste an, die einen Dialog,
der zwischen den Stationen auftritt, organisieren und synchronisieren,
und managt den Datenaustausch zwischen Stationen. Somit steuert
die Sitzungsschicht 80, wann Stationen Daten senden und
empfangen können
auf der Grundlage der Tatsache, ob diese gleichzeitig oder alternierend
senden und empfangen können.
-
Die
Präsentationsschicht 90 stellt
sicher, dass Informationen den Netzwerknutzern sinnvoll präsentiert werden
und kann Zeichencodeübersetzungsdienste,
Datenkonversions-, Datenkommpressions- und Datenexpansionsdienste
zur Verfügung
stellen.
-
Die
Anwendungsschicht 100 bietet eine Einrichtung für Anwendungsprozesse
zum Zugreifen auf Systemverbindungseinrichtungen für den Informationsaustausch.
Die Anwendungsschicht bietet Dienste an, die verwendet werden, um
Inter-Benutzer-Verbindungen einzurichten und zu beenden, und um
die verbundenen System und die Betriebsmittel, die diese verwenden,
zu überwachen
und zu verwalten.
-
Fachleute
werden erkennen, dass das in 1 gezeigte
Netzwerk vom Typ Halbduplex (oder gemeinsam genutzt) oder Vollduplex
sein kann. Bei Halbduplex gibt es einen einzigen gemeinsam genutzten
Kommunikationspfad, wobei eine Station zu irgendeinem gegebenen
Zeitpunkt senden und überwachen
kann, oder empfangen kann, jedoch niemals gleichzeitig senden und
empfangen kann. In einer Halbduplex-Umgebung verwendet die MAC-Schicht 50B einen
CSMA/CD-Algorithmus, z. B. IEEE-802.3, so dass eine Station, die
das Netz zum Senden verwenden will, zuerst hören muss, um zu erkennen, ob
das Netzwerk belegt ist. Wenn es belegt ist, verschiebt die Station,
die zu senden wünscht,
die Übermittlung, überwacht
jedoch weiterhin den Medienstatus, während sie darauf wartet, dass
das Netzwerk frei wird. Wenn es frei ist, kann die Station mit dem
Senden beginnen. Während
des Sendens überwacht
die Station weiterhin das Netzwerk, um sicherzustellen, dass keine
weitere Station ebenfalls zum gleichen Zeitpunkt mit dem Senden
beginnt, oder in einer überlappenden
Weise sendet, um z. B. sicherzustellen, dass keine Kollision vorliegt.
In ähnlicher
Weise wird dann, wenn eine Station Daten empfängt, diese an einem gleichzeitigen
Senden gehindert.
-
Somit
bietet der CSMA/CD-Algorithmus eine nützliche Schrittsteuerungseinrichtung,
die den Zugang von ankommenden neuen Daten in das Halbduplex-Netzwerk
unterbindet oder verschiebt, bis das Netzwerk geeignet vorbereitet
ist. Außerdem
wird ein sogenannter Gegendruckalgorithmus auch in Halbduplex-Umgebungen
verwendet, um eine Station am Senden von Daten in das Netzwerk durch
Senden zu dieser Station zu hindern. Der Empfang der Übermittlung
veranlasst die mögliche
sendende Station, anzunehmen, dass das Netzwerk belegt ist, um die Übermittlung
zu verschieben oder zu unterbinden.
-
Im
Gegensatz hierzu gibt es bei Vollduplex Sende- und Empfangskommunikationspfade,
wobei ein oder mehrere Stationen gleichzeitig senden und empfangen
können.
Der duale Kommunikationskanal oder Pfad kann in Wirklichkeit mehrere
Drähte
oder Kabel umfassen, oder einen einzelnen Draht oder ein einziges Kabel,
die gleichzeitig Signale in beiden Richtungen vielleicht unter Verwendung
einer Frequenzunterteilung senden und empfangen können. Vollduplex-Netzwerke
können
eine höhere
Datenrate zur Verfügung
stellen als Halbduplex-Netzwerke, häufig 100 Mbps, und werden aufgrund
der schnelleren Kommunikationsrate häufig bevorzugt.
-
Ungünstigerweise
müssen
beim Übergang
zu einer Vollduplex-Umgebung die IEEE-802.3-CSMA/CD-MAC-Halbduplex-Einrichtungen
für die
Kollisionsvermeidung und für
die Übermittlungsverschiebung aufgegeben
werden. In einer Vollduplex-Umgebung wird einer sendenden Station,
die in einem Halbduplex-Netzwerk der Flusssteuerung unterworfen
würde,
erlaubt, zum gleichen Zeitpunkt zu senden, zu dem eine empfangende
Station senden kann. Das Konzept der "Kollisionen" oder der Vermeidung von Kollisionen
ist in einer Vollduplex-Umgebung bedeutungslos. Da ferner eine Station,
die über
ein Vollduplex-Netzwerk zu senden wünscht, das Medium nicht überwacht,
sind auch Halbduplex-Verzögerungs-
und Gegendruck-Flusssteuerprozeduren
nutzlos. Die verschiedenen Halbduplex-CSMA/CD-Datenschrittsteuerungseinrichtungen
können
somit bei Vollduplex nicht verwendet werden, um den Zugang zum Netzwerk
zu steuern oder zu begrenzen. Ein Vollduplex-Netzwerk benötigt jedoch
trotzdem eine bestimmte Einrichtung, um eine Station am Senden zu
hindern.
-
Die
Notwendigkeit einer Flusssteuerung entsteht, da ein Vollduplex-Netzwerk
Betriebsmittel enthält, die
endlich sind. Netzwerke enthalten Vorrichtungen, wie z. B. Schalter,
Vermittlungen, Brücken
und dergleichen, die zwei Netzwerksegmente miteinander verbinden
und Daten zwischen den Segmenten bewegen. Diese Vorrichtungen enthalten
typischerweise einen Pufferspeicher, um eine Datenratenadaption
zwischen Verbindungen zu bewerkstelligen, die Signale mit verschiedenen
Raten befördern,
z. B. etwa 100 Mbps ankommender Daten, die einer Netzwerkverbindung
präsentiert
werden, die nur 10 Mbps handhaben kann, oder um anderweitig zu arbeiten,
wenn andere Betriebsmittel belegt sind. Obwohl solche Vorrichtungen
vorübergehend ankommende
Daten während
eines langsameren Auslesens schnell speichern können, können sich die Vorrichtungsspeicher
leicht füllen
und überfüllt werden,
solange nicht eine bestimmte Einrichtung den Zugang neuer Daten
in das Netzwerk oder wenigstens die Verbindung, die die überfüllte Vorrichtung
enthält,
anhalten oder verlangsamen kann. (Obwohl Halbduplex-Netzwerke ebenfalls
Verbindungen mit unterschiedlichen Datenraten aufweisen können, wird
das Problem in Vollduplex-Netzwerken verstärkt, in denen erheblich mehr
Daten fließen,
insbesondere bei 100 Mbps)
-
Ungünstigerweise
gibt es im Stand der Technik keine Flusssteuereinrichtung für Vollduplex-Ethernet-Netzwerke,
die eine solche Datenüberfüllung und
den resultierenden Datenverlust vermeiden kann, ohne den Datendurchsatz
zu opfern. Flusssteuervorrichtungen, die in Vollduplex-Netzwerken
auf der Transportschicht implementiert sind, sind langsam und ineffizient.
Transportschichteinrichtungen können
einen Datenüberfüllungszustand
erfassen und Übermittlungsraten
verlangsamen. Ungünstigerweise
wird der Datendurchsatz unter Verwendung solcher Flusssteuereinrichtungen
langsamer als die Rate, die der überfüllten Vorrichtung
zugeordnet ist. Die Datenausgabe einer 10-Mbps-Vorrichtung, die
Daten mit 100 Mbps empfängt,
wird wesentlich kleiner sein als die der Vorrichtung zugeordnete
Rate von 10 Mbps.
-
Es
besteht daher Bedarf an einer Flusssteuereinrichtung für ein Vollduplex-Ethernet-Netzwerk.
Eine solche Einrichtung sollte vorzugsweise eine CSMA/CD-Kollision
und einen verzögerten
Zugang zu einem Vollduplex-Ethernet-Netzwerk
als ein Flusssteuerverfahren zur Verfügung stellen, während die
Rückwärtskompatibilität mit bestehenden
Netzwerken und Standards aufrechterhalten wird. Ein solches Verfahren
sollte erkennen, wenn eine empfangende Station oder Vorrichtung
mit Daten überfüllt zu werden
droht (oder überfüllt wird), und
sollte vorübergehend
eine sendende Station oder Vorrichtung am Senden neuer Daten hindern,
bis die vorliegenden Daten verarbeitet werden können.
-
Um
mit bestehenden Netzwerken und Anlagen und Software kompatibel zu
sein, sollte eine solche Flusssteuerung konform zu den IEEE-802-Standards
sein. Um deren breite Verwendung zu fördern, sollte eine solche Flusssteuereinrichtung
nur kleinere Modifikationen an solchen Normen zur Folge haben. Eine
solche Einrichtung sollte den Fluss so steuern, dass die Datenrate
von einer langsamen Vorrichtung, die mit einer schnellen Vorrichtung
verbunden ist, die Datenrate ist, zu der die langsame Vorrichtung
fähig ist.
Während
ferner die Flusssteuerung einen "Auffrischungs"-Modus enthalten
sollte, bei dem Flusssteuersignale relativ häufig gesendet werden, sollte
eine Option für
eine Unterbrechungseinrichtung vorgesehen sein, um die Flusssteuerung
in dem Fall zu deaktivieren, in dem ein reaktiviertes Flusssteuersignal
von einer sendenden Station irgendwie nicht empfangen wird.
-
Ferner
besteht in einem Vollduplex-Ethernet-Netzwerk Bedarf an einer MAC-Schicht, deren Senderprozess
und Empfängerprozess
jeweils für
separate und unabhängig
erzeugte Signale verantwortlich sind.
-
Die
vorliegende Erfindung offenbart eine solche Flusssteuereinrichtung
und eine solche MAC-Schicht für
ein Vollduplex-Ethernet-Netzwerk.
-
EP 0 404 337 A2 offenbart
ein vermaschtes Lokalbereich-Netzwerk, das eine automatische Paketvermittlung
und Weiterleitung zwischen Host-Computern, die mit dem Netzwerk
verbunden sind, zur Verfügung stellt.
Das Netzwerk weist eine Vielzahl von durchgreifenden, blockierungsfreien
Vermittlungen auf, die jeweils fähig
sind, eine Vielfalt von Datenpaketen gleichzeitig weiterzuleiten.
Zum gleichen Zeitpunkt, zu dem Daten übermittelt werden, werden auch
Flussbefehlssignale mittels einer einfachen Form von Zeitmultiplexierung
gesendet. Die von einer Vermittlung gesendeten Stoppbefehle stoppen
vorübergehend
den Fluss des Paketes, das von einem Host gesendet wird, wobei Startbefehle,
die von der Vermittlung gesendet werden, den Host veranlassen, mit
dem Senden des Pakets fortzufahren.
-
US 5.381.413 offenbart eine
Station, die mit einem Netzwerksegment über ein gemeinsam genutztes Übertragungsmedium
verbunden ist. In einem offenbarten Prozess für die Steuerung der Übertragung
von Paketen von der Station veranlasst eine Drosseleinrichtung absichtlich
eine Medienzugangssteuerschicht, ein künstliches Trägersignal
zu der Station zu senden, was die Station veranlasst, das Senden
von Paketen zu unterbinden, bis sie das künstliche Trägersignal nicht mehr erfasst.
-
Der
IEEE-Standard 802.3u-1995 ergänzt
die vorher existierenden CSMA/CD-Netzwerkzugangsverfahren
und die Spezifikationen der physikalischen Schicht mit Medienzugangssteuerparametern,
der physikalischen Schicht, Mediumanbringungseinheiten und Verstärkerspezifikationen
für den
Betrieb des Netzwerktyps 100BASE-T.
-
ÜBERBLICK ÜBER DIE
VORLIEGENDE ERFINDUNG
-
Die
vorliegende Erfindung schafft ein Flusssteuerverfahren für die Verwendung
mit einem Vollduplex-Ethernet-Netzwerk, wie in Anspruch 1 ausgeführt ist,
und ein Vollduplex-Ethernet-Netzwerk wie in Anspruch 19 ausgeführt ist.
-
Die
Ausführungsformen
der Erfindung nutzen CSMA/CD, um eine Flusssteuerung in einem Vollduplex-Ethernet-Netzwerk
in einer verlustlosen Weise zu implementieren, ohne Vertrauen auf
ein einzelnes Signal, um den Zustand sowohl des Sendeprozesses als
auch das Empfangsprozesses eines Datenendgerätes (DTE) zu beschreiben, dessen
Datenfluss zu steuern ist. Flusssteuerung-Senden-Ein/Aus-("XON/XOFF")-Nachrichten werden
von einem empfangenen DTE, das überfüllt zu werden
droht, über
die physikalische Schicht zum sendenden DTE, dessen Datenausgabe
zu steuern ist, gesendet. Die XON/XOFF-Signale weisen ein Format
auf, das von normalen Daten unterscheidbar ist, und werden in der
Zwischenpaketlücke
("IPG") zwischen Datenrahmen
mit einer Häufigkeit
von z. B. jeder IPG gesendet. Wenn die Betriebsmittel des empfangenden
DTE wenigstens einen Rahmen zusätzlicher
Daten empfangen können,
wird während
der IPG XON gesendet, ansonsten wird XOFF gesendet. Alternativ kann,
statt XON/XOFF nach jedem einzelnen Rahmen zu senden (d. h. "aufzufrischen"), ein Zeitgeber
innerhalb des sendenden DTE durch den Empfang eines XOFF gestartet
werden, wobei nach Ablauf einer gegebenen Zeitspanne die Übermittlung erneut
gestartet werden kann, selbst wenn kein XON empfangen wurde (vielleicht
aufgrund einer Datenverstümmelung).
Die Zeitgebereinrichtung kann mit einem Pro-IPG-Auffrischungssteuersignal
verwendet werden, um die Wiederaufnahme der Übertragung sicherzustellen,
sollte ein XON-Steuersignal
vom flussgesteuerten, sendenden DTE irrtümlich nicht empfangen werden.
-
Bei
der physikalischen Schicht des sendenden DTE am anderen Ende des
Mediums werden die eindeutig formatierten Flusssteuernachrichten
empfangen, decodiert und voneinander und von Daten unterschieden.
Wenn XOFF erkannt wird, bestätigt
das sendende DTE sein Trägererfassungssignal
(CRS) für
seine MAC-Schicht am MII.
-
Die
MAC-Schicht ist leicht modifiziert, um separate und unabhängige Sendeverzögerungs-Empfangsdatenrahmeneinrichtungen
unter Verwendung separater und unabhängiger Eingangsstatussignale,
nämlich CRS
und RX_DV, bereitzustellen. Innerhalb der leicht modifizierten MAC-Schicht
wird das CRS-Signal verwendet, um ein Trägererfassungssignal bereitzustellen,
das verwendet wird, um eine Verzögerungsfunktion
innerhalb des MAC-Sendeprozesses
durchzuführen.
Wenn ferner RX_DV auf dem MII bestätigt wird, akzeptiert und verarbeitet
die MAC-Empfangsverarbeitungslogik Daten von der physikalischen
Schicht und leitet anschließend
die verarbeiteten Daten zur logischen Verbindungssteuerschicht weiter.
Die modifizierte MAC ist jedoch vollständig rückwärtskompatibel zu Halbduplex-Netzwerken.
-
Wenn
eine Überfüllung droht,
sendet ein empfangendes DTE an die physikalische Schicht des sendenden
DTE ein XOFF. Bei Empfang des XOFF setzt die sendende physikalische
Schicht CRS bei MII (oder einer weiteren Schnittstelle) und setzt
fortgesetzt dieses Signal, bis XON empfangen wird. Solange CRS gesetzt
ist, verzögert
die sendende MAC die Datenübermittlung,
und wird somit flussgesteuert oder am Senden in das Netz gehindert.
-
Wenn
die Betriebsmittel des empfangenden DTE die Annahme zusätzlicher
Daten erlauben, gibt dessen physikalische Schicht XON über das
Medium an das sendende DTE aus, vorzugsweise während der IPG während seiner
eigenen Datenübermittlung.
(Die Tatsache, dass das empfangende DTE überfüllt werden kann, beeinflusst
nicht dessen Fähigkeit,
in der Vollduplex-Umgebung
zu senden.) Das ursprünglich
sendende DTE empfängt
und erkennt XON und nimmt CRS zurück, was seiner MAC erlaubt,
zu senden.
-
Das
empfangende DTE sendet vorzugsweise ein XOFF-Signal, wenn es innerhalb
eines Rahmens oder dergleichen überfüllt zu werden
droht. Wenn beim sendenden Ende ein XOFF während einer Rahmenübertragung
empfangen wird, tritt das XOFF nicht in Kraft, bis diese Rahmenübertragung
abgeschlossen ist. Die Flusssteuerung ist somit verlustfrei mit
einer Körnigkeit
von ±1
Rahmen.
-
Andere
Merkmale und Vorteile werden anhand der folgenden Beschreibung deutlich,
in der die bevorzugten Ausführungsformen
genauer und in Verbindung mit den beigefügten Zeichnungen erläutert werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
ein Netzwerk gemäß dem Stand
der Technik;
-
2 zeigt
ein Vollduplex-Vermittlungsnetzwerk, das eine Datenflusssteuerung
gemäß der vorliegenden
Erfindung verwendet;
-
3A zeigt
die räumliche
Beziehung zwischen den Signalen, die dem Senden einer XOFF-Nachricht auf
MII' zugeordnet
sind;
-
3B zeigt
die räumliche
Beziehung zwischen den Signalen, die dem Senden einer XON-Nachricht auf
MII' zugeordnet
sind;
-
3C zeigt
die räumliche
Beziehung zwischen den Signalen, die dem Senden einer XOFF-Nachricht auf
MII' zugeordnet
sind;
-
3D zeigt
die räumliche
Beziehung zwischen den Signalen, die dem Empfangen einer XOFF-Nachricht
auf MII' zugeordnet
sind;
-
3E zeigt
die räumliche
Beziehung zwischen den Signalen, die dem Empfangen einer XON-Nachricht
auf MII' zugeordnet
sind;
-
3F zeigt
das räumliche
Fenster, während
dem gültige
Flusssteuernachrichten gesendet werden können;
-
3G zeigt Änderungen
am MII'-Signal und
CRS-Verhalten während
der normalen Paketübermittlung;
-
3H zeigt Änderungen
am MII'-Signal und
dem CRS-Antwortverhalten während
XON/XOFF;
-
3I zeigt Änderungen
am MII'-Signal und
an der CRS-Antwort, wenn XOFF während
einer Paketübermittlung
empfangen wird;
-
3J zeigt Änderungen
am MII'-Signal und
an der CRS-Antwort in Reaktion auf RELEASE;
-
4 zeigt
die Rolle der Stationsmanagementinstanz ("STA")
innerhalb jedes DTE;
-
5 zeigt
Modifikationen und die Abbildungsrolle der Abstimmungsunterschicht;
-
6 zeigt
die modifizierte Medienzugangsschicht ("MAC")
und deren Empfang der unabhängigen und
separat erzeugten CRS- und RX_DV-Signale.
-
GENAUE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
2 zeigt
ein vermitteltes Vollduplex-Umgebung-Netzwerk, das eine Datenflusssteuerung
zum Verhindern einer Paketstauung gemäß der vorliegenden Erfindung
verwendet. Das Netzwerk der 2 ist in
vielerlei Hinsicht dem Netzwerk der 1 des Standes
der Technik ähnlich,
mit der Ausnahme, dass an der Medienzugangskontroll-Unterschicht,
hier 50B',
an der Abstimmungsunterschicht, hier 40', am Schnittstellenstandard hier
MII', zwischen der
physikalischen Schicht und der Abstimmungsunterschicht 40' und an der
physikalischen Schicht, hier 30', kleine Änderungen vorgenommen wurden.
-
Es
wird angenommen, dass Schichten ab einschließlich der logischen Verbindungssteuerschicht 50A und
aufwärts
unverändert
sind, ebenso wie die Computer 10, 10' und das Verbindungsmedium 20.
Da nur die MAC-Unterschicht 50B', die Abstimmungsunterschicht 40', die MII-Schnittstelle
MII' und die physikalische Schicht 30 leicht
verändert
sind, ist das Netzwerk vollständig
IEEE-802-kompatibel, und ist ferner kompatibel mit dem neu veröffentlichten
IEEE-802.3u-Standard. Als Ergebnis wird die Verbindungsebene-Flusssteuerung ohne
Beeinträchtigung
der Systemfähigkeiten
mit bestehenden Standards, einschließlich des 802.3-Standards,
leicht erreicht.
-
Gemäß der vorliegenden
Erfindung sendet eine Einheit eines Datenendgerätes ("DTE"),
z. B. ein Computer 10, eine physikalische Schicht 30', eine Schnittstelle
MII', eine Abstimmungsunterschicht 40' und eine MAC-Schicht 50B,
eine XON- oder XOFF-Nachricht zur Flusssteuerung des DTE am entfernten
Ende einer Verbindung. Wie in 2 gezeigt
ist, kann das zweite DTE einen Computer 10 und zugehörige relevante Schichten 30', 40', 50B' und eine Schnittstelle
MII' enthalten.
Wie im Folgenden beschrieben wird, werden Flusssteuernachrichten
XON/XOFF vorzugsweise auf den Datenpfad während der normalerweise wenigstens 96
Bitzeitspannen breiten Zwischenpaketlückenperiode ("IPG"-Periode) gesendet,
wobei ein eindeutiges Muster an Bits verwendet wird, um XON und
XOFF von irgendwelchen möglichen
Daten zu unterscheiden. Diese Flusssteuersignale können jedoch
stattdessen während
der Rahmen aktueller Daten gesendet werden, cbwohl die Zuverlässigkeit
beeinträchtigt
werden kann, da bei der Fehlidentifikation eines Flusssteuersignals
ein Bitfehler resultieren kann. Es ist wichtig, dass die physikalische
Schicht der sendenden Station ankommende XON/XOFF-Nachrichten (oder
andere Flusssteuernachrichten, z. B. RELEASE) von Daten unterscheidet
und die Flusssteuernachrichten reservierte Codes, Nicht-Datencodes,
unter anderen Codemustern, die von normalen Datenmustern zu unterscheiden
sind, verwenden können.
-
Unter
Verwendung der vorliegenden Erfindung kann ein DTE senden, solange
es keine XOFF-Nachricht vom DTE am entfernten Ende der Verbindung
empfangen hat. Bei Empfang einer solchen XOFF-Nachricht muss ein
DTE zuerst eine XON-Nachricht empfangen, bevor ihm erlaubt wird,
zu senden. Wie in 2 gezeigt ist, werden die XON-
und XOFF-Nachrichten von der physikalischen Schicht 30' codiert und
decodiert. Die physikalische Schicht 30' antwortet auf ein XOFF durch Zwingen
einer 802.3-konformen MAC-Schicht 50B', bis zum Empfang eines XON oder
bis Eintreten einer Zeitüberschreitung
zu verzögern.
Die XON- und XOFF-Nachrichten werden über die MII'-Schnittstelle über reservierte Codierungen
des Datenpfades und Abgrenzungssignale transportiert. Wie hier beschrieben
wird, verwendet die vorliegende Ausführungsform den Verzögerungsprozess
der MAC 50B' als
Einrichtung für
die verlustfreie Vollduplex-Flusssteuerung.
-
Ein
DTE kann die Übermittlung
einer XON- oder XOFF-Nachricht über
das folgende Primitiv einleiten:
-
-
Der
hier verwendete Ausdruck "Primitiv" bezieht sich auf
eine formale Definition einer Dienstschnittstelle, die von einer
Modellschicht bereitgestellt wird. Zum Beispiel sind Schichten in
der Kommunikation mit Prozessen durch die Dienste definiert, die
die Schichten anderen Schichten bereitstellen, wobei die individuelle Spezifikation
solcher Dienste Primitive sind.
-
Ein
DTE kann eine XON- oder XOFF-Nachricht über das folgende Primitiv empfangen:
-
-
Ein
DTE kann sich von einer verlorenen XON-Nachricht über das
folgende Primitiv erholen:
RS_FlowControl_Release.request()
XON-
und XOFF-Nachrichten können
nur während
der IPG oder der ersten Hälfte
der Präambel
gesendet werden.
-
Im
herkömmlichen
MII-Signalsatz sind unabhängige
4 Bit breite Pfade für
das Senden und Empfangen von Daten vorhanden, ebenso wie spezifische "Zusammenschaltungen" ("hooks") für die Verbindungsebene-Datenflusssteuerung.
Die vier Sendepfade sind Sendedaten oder TXD<3:0>,
Sendetakt oder TX_CLK, Sendefreigabe oder TX_EN und Sendefehler
oder TX_ER. TX_CLK wird von der physikalischen Schicht erzeugt und
von der MAC als Datenreferenztakt verwendet. TX_CLK läuft mit
25 % der Bitrate der Übertragungsmedien,
z. B. 25 MHz für
eine Übertragungsrate
von 100 Mbps, und ist kontinuierlich aktiv. TX_EN wird von der MAC
bereitgestellt und fasst Daten ein oder grenzt diese ab, welche
von der physikalischen Schicht gesendet werden sollen. TX_EN wird
zu Beginn einer Rahmenübertragung
in den aktiven Zustand ("1") versetzt und bleibt
bis zur Rücksetzung
auf eine logisch "0" am Ende der Rahmenübertragung
aktiv. Die Sendedaten TXD sind die wirklichen Rahmendaten von der
MAC zur physikalischen Schicht. Die Nomenklatur TXD<3:0> gibt an, dass die
Sendedaten ein 4 Bit breites Bündel
sind. TX_ER ist ein Signal von der MAC an die physikalische Schicht,
das dieser mitteilt, dass die Inhalte des Datenbündels kein Datencode sind,
wie z. B. vielleicht verstümmelte
Daten oder XON, XOFF.
-
Die
vier Empfangspfade sind Empfangsdaten oder RXD<3:0>,
Empfangstakt oder RX_CLK, Empfangsgültigkeit oder RX_DV und Empfangsfehler
oder RX_ER. Wie erwähnt
worden ist, ist TX_CLK kontinuierlich aktiv, während RX_CLK während des
Datenempfangs und einer Zwischenpaketlücke 3A ("IPG") kontinuierlich
aktiv ist. Innerhalb einer Protokolldateneinheit ("PDU") ist das Senden
und Empfangen von Daten unterbrechungsfrei. Die hier verwendete
Notation TXD<3.0> oder RXD<3,0> gibt an, dass diese
Signale ein 4 Bit breites Bündel
sind.
-
Die
Erzeugung und Handhabung von Nachrichten für das Netzwerk der 2 wird
im Folgenden beschrieben. Eine XOFF-Nachricht wird von der Abstimmungs-("RS")-Unterschicht 40' in Reaktion
auf das Primitiv RS_FlowControl.request(STOP) erzeugt. Die XOFF-Nachricht
wird auf den MII'-Signalen
wie folgt übermittelt:
TXD<3:0>=<0111>,
TX_EN zurückgesetzt,
TX_ER gesetzt.
-
Eine
XON-Nachricht wird von der RS 40' in Reaktion auf das Primitiv RS_FlowControl.request(START)erzeugt.
Die XON-Nachricht wird auf den MII'-Signalen wie folgt übermittelt:
TXD<3:0>=<1011>,
TX_EN zurückgesetzt,
TX_ER gesetzt.
-
Diese
XON- und XOFF-Nachrichten werden in einer TX_CLK-Periode übermittelt.
-
3A zeigt
die räumliche
Beziehung zwischen TX_CLK, TX_EN, EXD<3:0> und
TX_ER bezüglich der Übermittlung
eines XOFF-Flusssteuersignals von der MAC in der überfüllten Station.
In 3A bezeichnet ein angenommener eindeutiger Code "0111" XOFF, z. B. Sendedaten
3 = "0", Sendedaten 2, 1
und 0 sind alle "1". (Die Nomenklatur "Sendedaten x" bezieht sich auf
ein bestimmtes Signal im 4-Bit-Datenbündel.) Die MAC der Empfangsstation
stellt TX_EN bereit, das gleich "0" ist, wenn die gezeigten
Wellenformen während
der IPG auftreten, und stellt ferner TX_ER von der Abstimmungsunterschicht
bereit. Die MAC der Empfangsstation setzt ebenfalls TX_ER für einen
Zyklus von TX_CLK, während
das Muster "0111" auf dem Datenbündel platziert
wird, um anzuzeigen, dass dies ein Nicht-Datensignal ist. Wenn TX_ER
gleich "1" ist, ähnelt das
Auftreten von 0111 auf den Daten TXD Daten, während jedoch dann, wenn TX_En
= "0" und TX_ER = "1" gilt, das eindeutige Muster (hier 0111)
XOFF bezeichnet. Die Notation "XX" für die Daten
TXD gibt "ohne Bedeutung" an, da normale Daten
während
der IPG- Zeit keine
Bedeutung haben.
-
3B zeigt
die räumliche
Beziehung zwischen den gleichen Signalen für das Übermitteln eines XON-Flusssteuersignals
(hier mit "1011" bezeichnet) von
der nicht mehr überfüllten MAC
der Empfangsstation. TX_EN ist "0", da wie erwähnt XON
vorzugsweise zwischen den Rahmen in der IPG übermittelt wird. Die nicht mehr überfüllte MAC
der Station stellt das XON-Signal 1011 bereit, welches dann, wenn
TX_EN = "0" und EX_ER = "1" gilt, XON und keine Daten bezeichnet.
-
3C und 3D zeigen
in ähnlicher
Weise den Empfang einer XOFF- und
einer XON-Nachricht durch die sendende Station, deren Datenausgabe
die Empfangsstation zu überfüllen droht.
In den 3C und 3D gilt
RX_DV = "0", da die verschiedenen
von der physikalischen Schicht erzeugten Wellenform der sendenden
Station wie gezeigt innerhalb der IPG auftreten und RX_DV normalerweise
während
der IPG zurückgesetzt
bleibt. Wenn in 3C eine Flusssteuernachricht
während
der IPG empfangen wird, bleibt RX_DV gleich "0",
wobei das empfangene Datenbündel
den Wert "0111" annimmt, der XOFF
bezeichnet, und RX_ER für
einen Zyklus von RX_CLK auf einen Zustand "1" gesetzt
wird. Wie in 3D gezeigt ist, bleibt in ähnlicher Weise
zum Empfangen einer XON-Nachricht RX_DV zurückgesetzt, wobei das empfangene
Datenbündel
den Zustand "1011" annimmt, was XON
bezeichnet, und das normalerweise zurückgesetzte RX_ER für einen
Zyklus von RX_CLK auf "1" angehoben wird.
-
Die
physikalische Schicht 30' sendet
eine XOFF-Nachricht zur RS 40', wenn die physikalische Schicht ein
XOFF von dem entfernten Ende der Verbindung empfangen hat. Die XOFF-Nachricht
wird auf den MII'-Signalen
wie folgt übermittelt:
RXD<3:0>=<0111 >,
RX_DV zurückgesetzt,
RX_ER gesetzt
-
Die
RS erzeugt RS_FlowControl.indicate(STOP), wenn sie eine XOFF-Nachricht empfängt.
-
Die
physikalische Schicht sendet eine XON-Nachricht zur RS, wenn die
physikalische Schicht ein XON vom entfernten Ende der Verbindung
emp fängt.
Die XON-Nachricht wird auf den MII'-Signalen wie folgt übermittelt:
RXD<3:0>=<1011>,
RX_DV zurückgesetzt,
RX_ER gesetzt
-
Die
RS erzeugt RS_FlowControl.indicate(START), wenn sie eine XON-Nachricht empfängt. Die
XON- und XOFF-Nachrichten werden in einer RX_CLK-Periode übermittelt.
-
In
einer bevorzugten "Auffrischungsmodus"-Ausführungsform
wird XON oder XOR von einer empfangenen Station vorzugsweise während jeder
IPG gesendet, obwohl diese Flusssteuersignale statt dessen mit einer
Wiederholung von weniger als einmal pro IPG gesendet werden könnten. In
einer alternativen "Zeitüberschreitungs"-Ausführungsform
misst ein in 2 mit 110 bezeichneter
Zeitgeber, der der MAC-Schicht zugeordnet ist, ein Intervall ΔT beginnend
mit dem Empfang eines XOFF-Flusssteuersignals. Wenn nach dem Intervall ΔT kein XON-Signal
empfangen worden ist (vielleicht aufgrund einer Verstümmelung
oder eines anderen Fehlers), gibt die MAC der Sendestation ein RELEASE-Signal
("1100" in 3E)
aus, das die darunterliegende physikalische Schicht zwingt, das
CRS-Signal zurückzusetzen.
Die MAC kann anschließend
senden, genau so, wie wenn ein XON-Signal empfangen worden wäre. Obwohl
die Implementierung des Zeitgebers 110 zusätzliche
Kosten und Hardware zur Folge hat, kann dessen Verwendung viele
der IPG-Perioden für
eine andere Nutzung als für
die Beförderung
von Flusssteuernachrichten verfügbar
machen. Andererseits ist die Übermittlung
von Flusssteuernachrichten während
jeder IPG eine robustere Prozedur, weist jedoch wenigstens einen
Teil der IPG-Periode der Flusssteuernachrichtenübermittlung zu.
-
Die
RELEASE-Nachricht wird von der Abstimmungsunterschicht 40' der Sendestation
in Reaktion auf das Primitiv RS_FlowControl_Release.request() erzeugt.
Die RELEASE-Nachricht wird auf den MII'-Signalen wie folgt übermittelt:
TXD<3:0>=<1100>,
TX_EN zurückgesetzt,
TX_ER gesetzt.
-
Diese
RELEASE-Nachricht wird in einer TX_CLK-Periode übermittelt.
-
3E zeigt
die räumliche
Beziehung zwischen TX_CLK, TX_EN, TXD<3:0> und
TX_ER bezüglich der
Codierung einer RELEASE-Nachricht ("1100")
auf MII'. TX_EN
= "0" ist wie gezeigt
immer noch die IPG-Periode. Das Setzen von TX_ER von "0" auf "1" während eines
TX_CLK-Zyklus, während "1100" am Datenbündel vorhanden
ist, führt
zur Erzeugung eines RELEASE-Signals von der MAC zur physikalischen Schicht.
Wie erwähnt
worden ist, setzt die physikalische Schicht CRS zurück, was
der MAC ermöglicht,
zu senden.
-
Die
RS 40' muss
sicherstellen, dass Flusssteuernachrichten nur während der IPG oder während des ersten
Halbbytes der Präambel
gesendet werden. Nachrichten können
gesendet werden, wenn die folgenden Bedingungen erfüllt sind:
TX_EN[t] = 0 oder TX_EN[t–1] =
0.
-
3F zeigt
diese räumliche
Beziehung des Transports der Flusssteuernachrichten über MII', wenn XON, XOFF
oder RELEASE ausgegeben werden. Somit ist 3E sowohl
für den
Auffrischungsmodus als auch den Zeitüberschreitungsmodus der Erzeugung
der Flusssteuersignale relevant. Obwohl in 3F XON auf
TXD gezeigt ist, könnten
tatsächlich
auch XOFF oder RELEASE gezeigt sein. In 3F sind
zwei Zeitfenster für
die mögliche
Ausgabe eines Flusssteuersignals gezeigt, die mit "frühestens" und "spätestens" bezeichnet sind.
-
In 3F befindet
sich die früheste
Ausgabe eines Flusssteuersignals in der Halbbytezeit oder der Taktperiode,
die dem letzten Halbbyte eines Datenrahmens folgt. (Ein "Halbbyte" ist eine 4-Bit-Einheit
von Daten, die 25 % der nominalen Bitrate erfordert, um über die
MII' gesendet zu
werden.) Die späteste
Gelegenheit zum Senden einer Flusssteuernachricht überlappt
mit dem ersten Halbbyte eines Datenpakets. Dieses Ergebnis tritt
auf, da angenommen wird, dass die Flusssteuernachrichten von einer
Instanz ausgegeben werden, die von den normalen MAC-Sendeprozessen
logisch getrennt ist.
-
Die
vorliegende Ausführungsform
erfordert keine Änderungen
am MAC-Sendeprozess,
um Flusssteuernachrichten auszugeben, nimmt jedoch statt dessen
einen parallelen Prozess logisch getrennt vom MAC-Sendeprozess an.
Obwohl diese Annahme die Protokollkompatibilität fördert, besteht keine Korrelation zwischen
der Abfolge der MAC-Sendeprozesse und dem Zustand des Prozesses,
der die Flusssteuernachrichten ausgibt. Anders ausgedrückt, die
zwei Prozesse kennen weder ihre gegenseitigen Maßnahmen für den nächsten TX_CLK-Zyklus noch können sie
diese vorhersagen. Somit kann die MAC mit dem Senden eines Datenpakets
starten, wenn der Prozess wünscht,
dass die Signalflusssteuerung beginnt, XON, XOFF oder RELEASE zu
senden. Um eine Störung
zu vermeiden, kann der Flusssteuererzeugungsprozess den Zustand
von TX_EN überwachen,
wobei dann, wenn TX_EN gleich "0" ist, oder wenn es
auf "0" im vorherigen TX_CLK-Zyklus
zurückgesetzt
wurde, eine Flusssteuernachricht gesendet werden kann. Wenn jedoch
TX_EN gesetzt ist und im vorangehenden TX_CLK-Zyklus gesetzt wurde,
kann keine Flusssteuernachricht gesendet werden. Somit muss der
Prozess, der Flusssteuernachrichten sendet, TX_EN überwachen
und kann nur Flusssteuernachrichten senden, wenn TX_EN zurückgesetzt
ist oder wenn es während
des vorangehenden TX_CLK-Signals zurückgesetzt wurde.
-
3G zeigt
die Reaktion der CRS- und Kollisions-("COL")-Signale
in Reaktion auf TX_EN während der
normalen Paketübertragung.
-
TX_EN
wird von der MAC für
die physikalische Schicht an der MII erzeugt, um anzuzeigen, dass
ein Datenrahmen gesendet wird, wobei CRS und COL Signale von der
physikalischen Schicht an die MAC sind. CRS wird von der physikalischen
Schicht in Reaktion auf das Senden gesetzt. CRS bleibt während des
Sendens gesetzt, und wird nach dem Zurücksetzen von TX_EN zurückgesetzt.
Der MAC-Verzögerungsprozess, ein
Abschnitt einer der MAC-Schicht
zugeordneten Zustandsmaschine, beginnt die IPG mit dem Zurücksetzen von
CRS zeitlich abzumessen. COL bleibt für eine Vollduplex-Umgebung zu allen
Zeitpunkten inaktiv oder "0".
-
Wenn
im Gegensatz hierzu 3G einer Halbduplexverbindung
zugeordnet wird, würde
kein gleichzeitiger Empfang stattfinden. Bei Halbduplex setzt die
physikalische Schicht 30' CRS
während
des Sendens oder Empfangens eines Pakets, während im Vollduplex-Modus die
physikalische Schicht CRS während
des Sendens des Pakets setzt, jedoch nicht während des Empfangs eines Pakets.
Im Vollduplex-Modus setzt die physikalische Schicht CRS, wenn eine
XOFF-Nachricht vom getrennten Ende der Verbindung empfangen wird,
und setzt kontinuierlich CRS bis eine XON-Nachricht vom entfernten
Ende der Verbindung empfangen wird, oder bis eine RELEASE-Nachricht
von der lokalen Abstimmungsschicht 40' empfangen wird.
-
3H zeigt
die Antwort der CRS- und Kollisions-("COL")-Signale
in Reaktion auf TX_EN bei Vorhandensein von XOFF- und XON-Signalen.
TX_EN wird am normalen Ende einer Datenrahmenübertragung zurückgesetzt,
während
CRS in Reaktion hierauf zurückgesetzt
wird. In 3H empfängt jedoch eine bestimmte Zeitspanne
nach CRS = "0" die physikalische
Schicht bei der Sendestation ein XOFF-Flusssteuersignal von der überfüllten Empfangsstation
am Ende der Verbindung. XOFF wird decodiert und in Reaktion hierauf
CRS an der MII von der Sendestation zurückgesetzt, wie in 3H gezeigt
ist. CRS bleibt für
eine unbestimmte Zeitperiode aktiv, während der TX_EN auf Niedrigpegel
liegt, da die sendende MAC verzögert
und nicht sendet, wenn CRS gesetzt bleibt. Später in 3H wird
ein XON-Signal von der sendenden physikalischen Schicht, die CRS
zurücksetzt,
empfangen, woraufhin die MAC mit dem Senden beginnen kann. Die MAC
wird zuerst die IPG zeitlich abmessen (96 Bitzeitspannen) und anschließend mit
dem Senden beginnen, und setzt TX_EN (wenn sie Daten zu senden hat).
Die zu sendenden Daten werden auf das Medium gebracht und die physikalische
Schicht setzt ebenfalls CRS.
-
3I zeigt
die Wirkung des Empfangs eines XOFF während einer Übertragung,
und demonstriert die Paketgrenzenkörnigkeit. MAC sendet einen
Rahmen, wie durch TX_EN = "1" und CRS = "1" gezeigt ist. Irgendwann während der
Rahmenübertragung
wird ein XOFF-Signal empfangen. Die MAC setzt das Senden fort, und
beendet das Paket normal. Bei Abschluss der Rahmenübertragung
bleibt CRS gesetzt, statt CRS zurückzusetzen (wie in 3G),
da XOFF empfangen wurde, und bleibt gesetzt, bis XON empfangen wird.
Nachdem XON empfangen worden ist, wird nach einer IPG CRS zurückgesetzt
und die MAC kann wieder mit dem Senden beginnen.
-
3J zeigt
die Reaktion der physikalischen Schicht auf eine RELEASE-Nachricht und kann
verwendet werden, wenn eine XON-Nachricht irgendwie verstümmelt ist.
Die sendende physikalische Schicht empfängt eine XOFF-Nachricht während der Übertragung,
was CRS für
eine relativ lange Zeitperiode aktiviert und die MAC am Senden hindert
(z. B. verzögert).
Die MAC fährt
mit der Verzögerung
fort, wenn kein XON-Signal empfangen wird (vielleicht aufgrund einer
Signalverstümmelung).
Nach einer Zeitperiode ΔT
wird ein RELEASE-Signal empfangen, das die physikalische Schicht
zwingt, CRS aufzuheben oder zurückzusetzen,
was der MAC erlaubt, erneut zu senden. Die RELEASE-Nachricht wird
auf dem Sendepfad der MII codiert, was die physikalische Schicht
zum Aufheben von CRS zwingt.
-
Es
ist wichtig, anzunehmen, dass, während
XOFF von einer entfernten (überfüllten) Station
vielleicht am Ende einer Verbindung empfangen wurde, das RELEASE-Signal
vom nahen Ende der Verbindung empfangen wird, nämlich von einer Stationsmanagementinstanz
("STA") 150 in
der Sendestation (siehe 4).
-
Wie
in 4 gezeigt ist, ist ein erster Teil eines Datenendgerätes oder
DTE, wie z. B. ein Computer 10, eine physikalische Schicht 30', eine Schnittstelle
MII', eine Abstimmungsunterschicht 40' und eine MAC-Schicht 50B,
mit einem zweiten DTE verbunden, wie z. B. einem Computer 10' und entsprechenden Schichten
und Unterschichten. Jedes DTE enthält eine Stationsmanagementinstanz
("STA") 150, die
im Wesentlichen ein Satz von Management- oder Steuerfunktionen innerhalb
der Station oder des Computers ist. Die STA erkennt, wenn Stationsbetriebsmittel
(z. B. Speicher) überfüllt zu werden
drohen. Als Gestaltungswahlmöglichkeit
ist es z. B. nützlich,
eine Überfüllung zu
signalisieren und die Ausgabe eines XOFF-Flusssteuersignals zu veranlassen, wenn
Betriebsmittel mehr als etwa einen Rahmen als Datenspeicher verfügbar haben, obwohl
statt dessen andere Schwellen festgelegt werden können.
-
In 4 sind
die MII'-Schnittstelle,
die Dienstprimitive für
das physikalische Schichtsignal ("PLS"),
die Abstimmungsunterschichtdienstprimitive und die Flusssteuernachrichten
allgemein dargestellt, ebenso wie die physikalische Verbindung,
z. B. das Kabel 20, zwischen den DTEs. Die PLS-Dienstprimitive werden
von der physikalischen Schicht 30' der Medienzugangskontrollschicht 50B zur
Verfügung
gestellt. Wie aus 5 deutlich wird, dient die Abstimmungsunterschicht 40' zum Abbilden
der konkreten Signale, die durch die MII' definiert werden, auf die weniger konkreten
PLS-Dienstprimitive.
-
Wenn
z. B. eine DTE-STA 150 eine bevorstehende Betriebsmittelüberfüllung erkennt
und wünscht,
ein Flusssteuersignal (z. B. XOFF) auszugeben, verwendet die STA
ein RS-STOP-Dienstprimitiv. Die STA sendet dieses Primitiv zur RS 40', die das Primitiv
in MII' codiert.
Die MII' veranlasst
anschließend
die zugehörige
physikalische Schicht 30',
das entsprechende Flusssteuersignal, hier XOFF, auszugeben.
-
Es
ist wichtig, aus 4 zu erkennen, dass die STA 150 ein
von der MAC 50B' separater
und unabhängiger
Prozess ist, und dass zwischen diesen keine Korrelation existiert.
Folglich ist es durchaus möglich, dass
beschränkte
Betriebsmittel im Computer 10' dazu führen können, dass in dessen STA 150 festgestellt wird,
dass ein Überfüllung droht
und dass ein XOFF-Signal gesendet werden muss, obwohl der Computer 10' bereit sein
kann, gleichzeitig Daten zu senden. Somit können gleichzeitig ein Datenpaket
von der MAC 50B' und
ein Flusssteuerprimitiv von der STA 150 ausgegeben werden,
wobei beide Signalsätze
gleichzeitig an der RS 40' ankommen.
Verständlicherweise
wird die RS' versuchen,
beide Signale gleichzeitig zu codieren, wobei das Ergebnis jedoch
darin besteht, dass die physikalische Schicht 30' ein verstümmeltes
Signal sendet, da sie nicht die wirklichen Daten vom Flusssteuersignal
unterscheiden kann. Wie mit Bezug auf 3F beschrieben wurde,
erzeugt somit die vorliegende Ausführungsform eine Regel, um eine
solche Überlappung
zu vermeiden, indem ein Fenster spezifiziert wird, innerhalb dem
Flusssteuerprimitive von der MII' codiert
werden.
-
5 wird
im Folgenden mit Bezug auf Änderungen
der MII'-Schnittstelle
und des Verhaltens ihrer zugehörigen
Signale beschrieben. In 5 enthalten die mit der Abstimmungsunterschicht 40' verbundenen Dienstprimitive
vier neue Dienstfunktionen, die gemäß der vorliegenden Erfindung
definiert sind. Die in 5 in Fettschrift gezeigten neuen
Dienste sind:
-
-
-
Diese
neuen Abstimmungsdienstschichtprimitive enthalten Prozesse, von
denen in 5 nur die wichtigsten gezeigt
sind. Die verschiedenen Dienstprimitive, die auf der linken Seite
der 5 gezeigt sind, sind in Standard-Primitivsprache gegeben.
Die MII'-Signale
auf der rechten Seite der 5 spiegeln
die MII'-Schnittstellenspezifikation
wider. Die MII'-Spezifikation
ist lediglich die Definition des Verhaltens eines Satzes von Signalen
an der Schnittstelle zwischen der physikalischen Schicht 30' und der Abstimmungsunterschicht 40', wobei die
MII' an sich keine
funktionale Instanz ist. Wie gemäß der vorliegenden
Erfindung modifiziert, definiert somit die MII' einen zusätzlichen Satz von Signalverhalten,
z. B. die Codierung eines Sendedatenbündels (TXD<3:0>),
wenn Flusssteuersignale, wie z. B. XON/XOFF, benötigt werden, oder das Verhalten
der physikalischen Schicht 30' hinsichtlich seiner Handhabung
eines CRS-Signals, und dergleichen. Was modifiziert wird, ist die
Verhaltensbeschreibung solcher Signale, und wie solche Signale verwendet
werden können,
um eine Flusssteuerung in einer Vollduplex-Ethernet-Umgebung ohne Datenverlust
zu erreichen.
-
6 zeigt
den Dualitätsaspekt
der Schicht MAC 50B' gemäß der vorliegenden
Erfindung genauer. Wie erwähnt
worden ist, hat in Halbduplex-MAC-Schichten ein einziges CRS-Eingangssignal
von der physikalischen Schicht die MAC-Schicht-Senderprozess-Verzögerung und
auch die MAC-Schicht-Empfangsprozess-Dateneinfassung
gesteuert. In starkem Gegensatz hierzu trennt die modifizierte MAC-Schicht 50B' gemäß der vorliegenden
Ausführungsform
diese zwei Prozesse und verwendet unabhängige und separate Eingangssignale,
um die Verzögerungs-
und Dateneinfassungseinrichtungen zu steuern.
-
Wie
in 6 gezeigt ist, enthält innerhalb der MAC 50B' der Senderprozess 130 eine
Verzögerungseinrichtung 150,
die auf ein Trägererfassungssignal
anspricht, während
der Empfängerprozess 140 eine
Bitempfängereinrichtung 160 enthält, die
auf eine neue Variable anspricht, die gemäß der vorliegenden Erfindung als
receive_carrierSense-Signal definiert ist. Wie gezeigt ist, kann
die Variable receive_carrierSense direkt aus dem MII'-Signal RX_DV abgeleitet
werden, und wird verwendet, um ankommende Bits anzuzeigen.
(Im
Gegensatz hierzu wurde im Stand der Technik eine Variable carrierSense
direkt aus dem MII-Signal CRS abgeleitet und wurde verwendet, um
eine Übertragungsverzögerung anzuzeigen.)
-
In
der bevorzugten Ausführungsform
werden an der MII' separate
CRS- und RX_DV-Signale der RS 40' zur Verfügung gestellt, die unter den
verschiedenen Dienstprimitiven, die in 5 gezeigt
sind, die Primitive PLS_carrier.indicate und PLS_receive_carrier.indicate
ausgibt. Die MAC 50B' empfängt diese
Dienstprimitive, die als carrierSense und receive_carrierSense den
Verzögerungs-
und Bitempfängereinrichtungen
bereitgestellt werden. Diese Trennung der MAC-carrierSense-Variablen
in carrier-Sense
(das von der Verzögerung 150 verwendet
wird) und receive_carrierSense (das von Bitempfänger 160 verwendet
wird) steht im Gegensatz zum Stand der Technik.
-
Für die Zwecke
der vorliegenden Ausführungsform
reicht es aus, dass separate und unabhängig erzeugte Signale carrierSense
und receive_carrierSense innerhalb der modifizierten MAC-Schicht 50B' zur Folge haben.
Anders ausgedrückt,
es ist nicht erforderlich, das CRS und RX_DV diese Signale verursachen.
Ungeachtet der Tatsache, wie die separaten und unabhängig erzeugten
Signale erzeugt werden, führt
in Reaktion hierauf die modifizierte MAC-Schicht 50B' separate Verzögerungs-
und Dateneinfassungsprozeduren durch, ähnlich denjenigen, die für ein Halbduplex-Netzwerk
unter Verwendung einer MAC-Schicht gemäß dem Stand der Technik ausgeführt werden.
Ferner ist eine modifizierte MAC-Schicht 50B' vollständig rückwärtskompatibel mit Netzwerken
des Standes der Technik, die die gleichen Signale CRS und RX_DV
verwenden.
-
Die
vorliegende Erfindung modifiziert den 802.3-MAC-Standard leicht
und semantisch wie folgt:
Die Schnittstelle zur physikalischen
Schicht ist wie folgt beschaffen, wobei die Fettschrift neu hinzugefügte Merkmale
angibt, z. B. ist receive_carrierSense eine neu definierte Variable:
-
-
-
Die
Zustandsvariableninitialisierung gemäß der vorliegenden Ausführungsform
kann wie folgt implementiert werden:
-
-
Der
Rahmenempfang ist vorzugsweise wie folgt implementiert:
-
-
-
Die
vorliegende Ausführungsform
nimmt eine leichte Modifikation der Abstimmungsunterschicht wie folgt
vor:
-
Wie
in 6 gezeigt, bildet
PLS_RX_CARRIER.indicate(CARRIER
STATUS) das MII'-Signal
RX_DV auf die MAC-Variable receive_carrierSense ab, und
PLS_CARRIER.indicate(CARRIER_STATUS)
bildet das MII'-Signal
CRS auf die MAC-Variable carrierSense ab.
-
RS_FLOW_CONTROL.request(REQUEST_TYPE)
wird von der STA für
die Abstimmungsunterschicht erzeugt, während der Parameter REQUEST_TYPE
einen von zwei Werten annehmen kann: STOP und START. Bei Empfang
dieses Primitivs bildet die Abstimmungsunterschicht die Werte STOP
und START auf Nachrichten auf der MII' wie folgt ab:
STOP → XOFF
START → XON
-
In
der vorliegenden Erfindung wird
RS_FLOW_CONTROL.indicate(INDICATE_TYPE)
von der Abstimmungsunterschicht für die STA erzeugt. Der Parameter
INDICATE_TYPE kann einen der zwei folgenden Werte annehmen:
STOP
und START
-
Die
Abstimmungsunterschicht erzeugt dieses Primitiv durch Decodieren
von Nachrichten von der MII und Abbilden derselben wie folgt:
XOFF → STOP
XON → START
-
Das
Primitiv RS_FLOW_CONTROL_RELEASE.request() wird von der STA für die Abstimmungsunterschicht
erzeugt und hat keinen Parameter. Bei Empfang dieses Primitivs erzeugt
die Abstimmungsunterschicht eine RELEASE-Nachricht auf der MII'.
-
In
der Zusammenfassung wird aus allem Vorangehenden deutlich, dass
die vorliegende Ausführungsform
die Flusssteuerung in einer Vollduplex-Ethernet-Umgebung implementiert, während die
Rückwärtskompatibilität mit existierenden
Umgebungen und Hardware bewahrt bleibt. Die Flusssteuerung wird
unter Verwendung eines leicht modifizierten MII'-Signalsatzes mit kleineren Änderungen
an der MAC-Schicht 50B',
mit kleineren Hinzufügungen
zur Abstimmungsunterschicht 40' und mit kleineren Änderungen
der physikalischen Schicht 30' zur Verfügung gestellt.
-
Die
vorliegende Ausführungsform
bietet eine Verzögerung
und eine Dateneinfassung vorzugsweise unter Verwendung zweier unabhängig erzeugter
Signale. Die resultierende Flusssteuerung ist verlustfrei und erlaubt
eine reduzierten Datenrate gleich der Datenrate des langsameren
Betriebsmittels, dessen drohende Überfüllung Anlass für die Flusssteuerung
gibt. Kurz, die Verbindungsebene-Flusssteuerung für Vollduplex-Ethernet-Netzwerke
kann in einer einfachen und kosteneffektiven Weise implementiert
werden, während die
Rückwärtskompatibilität aufrechterhalten
bleibt.