Ethernet/Flow Control: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „'''topic''' - Kurzbeschreibung == Beschreibung == == Installation == == Anwendungen == === Fehlerbehebung === == Syntax == === Optionen === === Parameter === === Umgebungsvariablen === === Exit-Status === == Konfiguration == === Dateien === == Sicherheit == == Siehe auch == === Dokumentation === ==== RFC ==== ==== Man-Pages ==== ==== Info-Pages ==== === Links === ==== Einzelnachweise ==== <references /> ==== Projekt ==== ==== Weblinks ==== == Testfragen…“
 
K Textersetzung - „Man-Pages“ durch „Man-Page“
 
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
'''Ethernet Flow Control''' - Unterbrechung der Übertragung, um Staus zu vermeiden
== Beschreibung ==
== Beschreibung ==
== Installation ==
''Ethernet Flow Control'' ist ein Mechanismus zur vorübergehenden Unterbrechung der Datenübertragung in [[Ethernet]]-Familien [[Computernetzwerk]]en.
== Anwendungen ==
* Ziel dieses Mechanismus ist es, [[Paketverluste]] bei einer [[Netzwerküberlastung]] zu vermeiden.
=== Fehlerbehebung ===
== Syntax ==
=== Optionen ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==


== Siehe auch ==
;Pausenrahmen
=== Dokumentation ===
[[IEEE 802.3x]]
==== RFC ====
* Erster Flusskontrollmechanismus
==== Man-Pages ====
==== Info-Pages ====
=== Links ===
==== Einzelnachweise ====
<references />
==== Projekt ====
==== Weblinks ====


== Testfragen ==
; Prioritätsbasierte Flusskontrolle
<div class="toccolours mw-collapsible mw-collapsed">
[[IEEE 802.1Qbb]]
''Testfrage 1''
* bietet einen Flusskontrollmechanismus auf Verbindungsebene
<div class="mw-collapsible-content">'''Antwort1'''</div>
* Kann unabhängig für jede [[Dienstklasse]] (CoS) gesteuert werden kann
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


= Wikipedia =
[[IEEE P802.1p]]
{{short description|Technique to suspend transmission to avoid congestion}}
* Priorisierung
[[File:EthernetPauseFrame.jpg|right|thumb|Wireshark screenshot of an Ethernet "Pause" frame|300px]]
* [[Data Center Bridging]]-Netzwerke (DCB)
* Priorisierung von Voice-over-IP (VoIP), Video-over-IP und Datenbanksynchronisierungsverkehr gegenüber Standarddatenverkehr und Massendatentransfers.


'''Ethernet flow control''' is a mechanism for temporarily stopping the transmission of data on [[Ethernet]] family [[computer network]]s. The goal of this mechanism is to avoid [[packet loss]] in the presence of [[network congestion]].
; Eine sendende Station (Computer oder [[Netzwerk-Switch]]) überträgt möglicherweise Daten schneller, als das andere Ende der Verbindung sie annehmen kann.
* Mithilfe der [[Flusskontrolle (Daten)|Flusskontrolle]] kann die empfangende Station dem Sender signalisieren, dass die Übertragungen unterbrochen werden sollen, bis der Empfänger aufholt.  
* Die Flusskontrolle bei Ethernet kann auf der [[Datenübertragungsschicht]] implementiert werden.


The first flow control mechanism, the '''pause frame''', was defined by the '''IEEE 802.3x''' standard. The follow-on '''priority-based flow control''', as defined in the '''IEEE 802.1Qbb''' standard, provides a link-level flow control mechanism that can be controlled independently for each [[class of service]] (CoS), as defined by [[IEEE P802.1p]] and is applicable to [[data center bridging]] (DCB) networks, and to allow for prioritization of voice over IP (VoIP), video over IP, and database synchronization traffic over default data traffic and bulk file transfers.
; Der erste Flusskontrollmechanismus, der ''Pausenrahmen'', wurde von der Arbeitsgruppe des [[Institute of Electrical and Electronics Engineers]] (IEEE) definiert, die die [[Vollduplex]]-Segmente Ethernet-Verbindungssegmente definierte.
* Der IEEE-Standard 802.3x wurde 1997 veröffentlicht.


==Description==
; Ethernet flow control (Flusskontrolle) ist ein Mechanismus, der die Datenübertragung bei Ethernet temporär stoppt.  
A sending station (computer or [[network switch]]) may be transmitting data faster than the other end of the link can accept it. Using [[Flow control (data)|flow control]], the receiving station can signal the sender requesting suspension of transmissions until the receiver catches up. Flow control on Ethernet can be implemented at the [[data link layer]].
* In CSMA/CD-Netzen konnte auf diese spezielle Signalisierung verzichtet werden, denn hier ist die Signalisierung einer Kollision praktisch gleichbedeutend mit einem Stopp- oder Pausensignal (''Back Pressure'').


The first flow control mechanism, the ''pause frame'', was defined by the [[Institute of Electrical and Electronics Engineers]] (IEEE) task force that defined  [[full duplex]] Ethernet link segments. The IEEE standard 802.3x was issued in 1997.<ref name="ieeexplore.ieee.org">{{cite book |title= IEEE Standards for Local and Metropolitan Area Networks: Supplements to Carrier Sense Multiple Access With Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications - Specification for 802.3 Full Duplex Operation and Physical Layer Specification for 100 Mb/s Operation on Two Pairs of Category 3 Or Better Balanced Twisted Pair Cable (100BASE-T2) |year= 1997 |publisher=  [[Institute of Electrical and Electronics Engineers]] |isbn= 978-1-55937-905-2 |doi=10.1109/IEEESTD.1997.95611 |url= http://ieeexplore.ieee.org/servlet/opac?punumber=9536 }}</ref>
; Seit Fast-Ethernet und der Einführung von [[Switch (Netzwerktechnik)|Switches]] findet die Datenübertragung praktisch nur noch kollisionsfrei im Vollduplex-Modus statt.  
* Da damit auf CSMA/CD verzichtet wird, ist eine zusätzliche Flusskontrolle erforderlich, die es einer Station beispielsweise bei Überlastung ermöglicht, ein Signal zu geben, dass sie zurzeit keine weiteren Pakete zugesandt haben möchte – anders als mit CSMA/CD gibt es keine Möglichkeit, einen Verlust und damit die Notwendigkeit einer erneuten Sendung anzuzeigen.  
* Hierzu wurde Flow Control eingeführt.  
* Damit kann eine Station die Gegenstellen auffordern, eine Sendepause einzulegen und vermeidet so, dass Pakete (zumindest teilweise) verworfen werden müssen.  
* Die Station schickt hierzu einer anderen Station (einer MAC-Adresse) oder an alle Stationen (Broadcast) ein PAUSE-Paket mit einer gewünschten Wartezeit.  
* Die Pause beträgt 0 bis 65535 Einheiten; eine Einheit entspricht der Zeit, die für die Übertragung von 512 Bit benötigt wird.


===Pause frame===
; Ethernet Flow Control verbessert die Zuverlässigkeit der Zustellung – da die angeforderten Pausen direkt auf den sendenden Knoten wirken, kann es aber zu Leistungseinbußen kommen.  
An overwhelmed network node can send a pause frame, which halts the transmission of the sender for a specified period of time. A [[media access control]] (MAC) [[Ethernet frame|frame]] ([[EtherType]] 0x8808) is used to carry the pause command, with the Control opcode set to 0x0001 ([[hexadecimal]]).<ref name="ieeexplore.ieee.org"/> Only stations configured for full-duplex operation may send PAUSE frames. When a station wishes to pause the other end of a link, it sends a pause frame to either the unique 48-[[bit]] destination address of this link or to the 48-bit reserved [[multicast address]] of {{no wrap|01-80-C2-00-00-01}}.<ref name="802.3-2018">{{Cite book
* Wenn zum Beispiel ein Zielknoten die zu empfangenden Daten nur langsamer als mit der Übertragungsrate aufnehmen kann und deshalb Pause-Frames verschickt, bremst es den sendenden Knoten insgesamt, und dieser versorgt auch andere Zielknoten langsamer mit Daten als eigentlich möglich wäre (''head-of-line blocking'').
| url = https://ieeexplore.ieee.org/servlet/opac?punumber=8457467
| title = IEEE Std 802.3-2018 - IEEE Standard for Ethernet
| date = 2018-08-31 | access-date = 2022-11-29
| publisher = IEEE Standards Association | website = ieee.org
| format = PDF | doi=10.1109/IEEESTD.2018.8457469
| isbn = 978-1-5044-5090-4
}}</ref>{{rp|Annex 31B.3.3}} The use of a well-known address makes it unnecessary for a station to discover and store the address of the station at the other end of the link.


Another advantage of using this multicast address arises from the use of flow control between network switches. The particular multicast address used is selected from a range of address which have been reserved by the [[IEEE 802.1D]] standard which specifies the operation of switches used for [[bridging (networking)|bridging]]. Normally, a frame with a multicast destination sent to a switch will be forwarded out to all other ports of the switch. However, this range of multicast address is special and will not be forwarded by an 802.1D-compliant switch. Instead, frames sent to this range are understood to be frames meant to be acted upon only within the switch.
; Flow Control ist optional und wird häufig nicht eingesetzt, um Head-of-Line-Blocking zu vermeiden.  
* In den meisten Netzwerken werden für wichtige Daten in den höheren Netzwerkschichten Protokolle verwendet, die leichte Übertragungsverluste ausgleichen können, insbesondere [[Transmission Control Protocol]].  
* Wenn dies nicht möglich ist, muss durch die Netzwerkarchitektur oder andere Mechanismen sichergestellt werden, dass wichtige Pakete nicht verloren gehen können, zum Beispiel mit [[Quality of Service]] oder bei [[Fibre Channel over Ethernet]].


A pause frame includes the period of pause time being requested, in the form of a two-[[byte]] (16-bit), unsigned [[integer]] (0 through 65535). This number is the requested duration of the pause. The pause time is measured in units of pause "quanta", where each unit is equal to 512 [[bit time]]s.
=== PAUSE-Frame ===
[[Datei:EthernetPauseFrame.jpg|right|thumb|Wireshark Screenshot eines Ethernet "Pause" Frames|500px]]
Ein überlasteter Netzknoten kann einen Pausenrahmen senden, der die Übertragung des Senders für eine bestimmte Zeitspanne unterbricht.
* Ein [[Media Access Control]] (MAC) [[Ethernet-Frame|frame]] ([[EtherType]] 0x8808) wird verwendet, um den Pause-Befehl zu übertragen, wobei der Control Opcode auf 0x0001 ([[hexadezimal]]) gesetzt ist.  
* Nur Stationen, die für Vollduplex-Betrieb konfiguriert sind, können PAUSE-Frames senden.  
* Wenn eine Station das andere Ende einer Verbindung anhalten möchte, sendet sie einen Pausenrahmen entweder an die eindeutige 48-[[Bit]]-Zieladresse dieser Verbindung oder an die reservierte 48-Bit-[[Multicast-Adresse]] von {{no wrap|01-80-C2-00-00-01}}.


By 1999, several vendors supported receiving pause frames, but fewer implemented sending them.<ref>{{Cite news |title= Switch Vendors pass interoperability tests |work= Network World |date= September 13, 1999 |pages= 81–82 |author1= Ann Sullivan |author2= Greg Kilmartin |author3= Scott Hamilton |url= https://books.google.com/books?id=0Q4EAAAAMBAJ&pg=PA82 |access-date= May 10, 2011}}</ref><ref name="vendor99">{{Cite news |title= Vendors on flow control |work= Network World Fusion |date= September 13, 1999 |url= http://www.networkworld.com/netresources/0913flow2.html |archive-url=https://web.archive.org/web/20120207133926/http://www.networkworld.com/netresources/0913flow2.html |archive-date=2012-02-07}} Vendor comments on flow control in the 1999 test.</ref>
Die Verwendung einer bekannten Adresse macht es für eine Station unnötig, die Adresse der Station am anderen Ende der Verbindung zu ermitteln und zu speichern.


===Issues===
Ein weiterer Vorteil der Verwendung dieser Multicast-Adresse ergibt sich aus der Verwendung der Flusskontrolle zwischen Netzwerk-Switches.
* Die verwendete Multicast-Adresse wird aus einer Reihe von Adressen ausgewählt, die durch den [[IEEE 802.1D]]-Standard reserviert wurden, der den Betrieb von Switches für [[Bridging (Networking)|Bridging]] spezifiziert.
* Normalerweise wird ein an einen Switch gesendeter Rahmen mit einem Multicast-Ziel an alle anderen Ports des Switches weitergeleitet.
* Dieser Bereich von Multicast-Adressen ist jedoch speziell und wird von einem 802.1D-kompatiblen Switch nicht weitergeleitet.
* Stattdessen werden Frames, die an diesen Bereich gesendet werden, als Frames verstanden, die nur innerhalb des Switches bearbeitet werden sollen.


One original motivation for the pause frame was to handle [[network interface controller]]s (NICs) that did not have enough buffering to handle full-speed reception. This problem is not as common with advances in bus speeds and memory sizes. A more likely scenario is [[network congestion]] within a switch. For example, a flow can come into a switch on a higher speed link than the one it goes out, or several flows can come in over two or more links that total more than an output link's bandwidth. These will eventually exhaust any amount of buffering in the switch. However, blocking the sending link will cause all flows over that link to be delayed, even those that are not causing any congestion. This situation is a case of [[head-of-line blocking]] (HOL), and can happen more often in [[core network]] switches due to the large numbers of flows generally being aggregated. Many switches use a technique called [[virtual output queueing|virtual output queues]] to eliminate the HOL blocking internally, so will never send pause frames.<ref name="vendor99"/>
Ein Pausenrahmen enthält die angeforderte Pausenzeit in Form einer vorzeichenlosen [[Ganzzahl]] mit zwei [[Byte]] (16 Bit) (0 bis 65535).  
* Diese Zahl ist die angeforderte Dauer der Pause.  
* Die Pausenzeit wird in Einheiten von Pausen-"Quanten" gemessen, wobei jede Einheit 512 [[Bitzeit]]en entspricht.


==Subsequent efforts==
Bis 1999 unterstützten mehrere Anbieter den Empfang von Pausenrahmen, aber nur wenige den Versand.
===Congestion management===
Another effort began in March 2004, and in May 2004 it became the IEEE P802.3ar Congestion Management Task Force. In May 2006 the objectives of the task force were revised to specify a mechanism to limit the transmitted data rate at about 1% granularity. The request was withdrawn and the task force was disbanded in 2008.<ref>{{cite web |title= IEEE P802.3ar Congestion Management Task Force |date= December 18, 2008 |url= http://grouper.ieee.org/groups/802/3/ar/ |access-date= May 10, 2011 }}</ref>


===Priority flow control===
=== Probleme ===
Ethernet flow control disturbs the Ethernet class of service (defined in [[IEEE 802.1p]]), as the data of all priorities are stopped to clear the existing buffers which might also consist of low priority data. As a remedy to this problem, [[Cisco Systems]] defined their own priority flow control extension to the standard protocol. This mechanism uses 14 bytes of the 42-byte padding in a regular pause frame. The MAC control opcode for a Priority pause frame is 0x0101. Unlike the original pause, Priority pause indicates the pause time in quanta for each of eight priority classes separately.<ref>{{cite web |title= Priority Flow Control: Build Reliable Layer 2 Infrastructure |publisher= Cisco Systems |work= White Paper |date= June 2009 |url= http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9670/white_paper_c11-542809.pdf |access-date= May 10, 2011 }}</ref> The extension was subsequently standardized by the Priority-based Flow Control (PFC) project authorized on March 27, 2008, as IEEE 802.1Qbb.<ref>[http://www.ieee802.org/1/pages/802.1bb.html IEEE 802.1Qbb]</ref> Draft 2.3 was proposed on June 7, 2010. Claudio DeSanti of Cisco was editor.<ref>{{cite web |title= IEEE 802.1Q Priority-based Flow Control |publisher= Institute of Electrical and Electronics Engineers |date= June 7, 2010 |url= http://www.ieee802.org/1/pages/802.1bb.html |access-date= May 10, 2011 }}</ref> The effort was part of the [[data center bridging]] task group, which developed [[Fibre Channel over Ethernet]].<ref>{{cite web |title= Data Center Bridging Task Group |publisher= Institute of Electrical and Electronics Engineers |date= June 7, 2010 |url= http://www.ieee802.org/1/pages/dcbridges.html |access-date= May 10, 2011 }}</ref>
; Eine ursprüngliche Motivation für den Pausenrahmen war der Umgang mit [[Netzwerkschnittstellen-Controller]]n (NICs), die nicht über genügend Puffer für den Empfang mit voller Geschwindigkeit verfügten.
* Mit den Fortschritten bei den Busgeschwindigkeiten und Speichergrößen ist dieses Problem nicht mehr so häufig.  
* Ein wahrscheinlicheres Szenario ist eine [[Netzwerküberlastung]] innerhalb eines Switches.  
* Beispielsweise kann ein Datenstrom über einen Link mit höherer Geschwindigkeit in einen Switch eintreten, als er ihn verlässt, oder es können mehrere Datenströme über zwei oder mehr Links eintreten, die insgesamt die Bandbreite eines Ausgangslinks übersteigen.  
* In diesen Fällen ist der Puffer des Switches irgendwann erschöpft.  
* Die Blockierung des sendenden Links führt jedoch dazu, dass alle Ströme über diesen Link verzögert werden, auch diejenigen, die keine Überlastung verursachen.  
* Diese Situation ist ein Fall von [[Head-of-Line-Blocking]] (HOL) und kann in [[Kernnetz]]-Switches aufgrund der großen Anzahl von Flüssen, die im Allgemeinen aggregiert werden, häufiger auftreten.
* Viele Switches verwenden eine Technik namens [[virtuelle Ausgangswarteschlangen|virtuelle Ausgangswarteschlangen]], um die HOL-Blockierung intern zu beseitigen, so dass niemals Pausenrahmen gesendet werden.


==See also==
=== Nachfolgende Bemühungen ===
* [[Explicit Congestion Notification]]
==== Überlastungsmanagement ====
; Eine weitere Anstrengung begann im März 2004, und im Mai 2004 wurde daraus die IEEE P802.3ar Congestion Management Task Force.
* Im Mai 2006 wurden die Ziele der Task Force überarbeitet, um einen Mechanismus zur Begrenzung der übertragenen Datenrate mit einer Granularität von etwa 1 % zu spezifizieren.
* Der Antrag wurde zurückgezogen und die Task Force wurde 2008 aufgelöst.
 
==== Prioritätsflusskontrolle ====
; Die Ethernet-Flusskontrolle stört die Ethernet-Dienstklasse (definiert in [[IEEE 802.1p]]), da die Daten aller Prioritäten angehalten werden, um die vorhandenen Puffer zu leeren, die auch aus Daten niedriger Priorität bestehen können.
* Um dieses Problem zu lösen, hat [[Cisco Systems]] eine eigene Erweiterung des Standardprotokolls zur Prioritätsflusskontrolle definiert.
* Dieser Mechanismus verwendet 14 Byte der 42-Byte-Polsterung in einem normalen Pausenrahmen.
* Der MAC-Kontroll-Opcode für einen Prioritäts-Pausenrahmen ist 0x0101.
* Anders als bei der ursprünglichen Pause wird bei der Prioritätspause die Pausenzeit in Quanten für jede der acht Prioritätsklassen separat angegeben.


==References==
<noinclude>
{{Reflist}}


==External links==
== Anhang ==
* {{Cite web |title=Ethernet Media Access Control - PAUSE Frames |work=TechFest Ethernet Technical Summary |year= 1999 |url=http://www.techfest.com/networking/lan/ethernet3.htm#3.2.1 |access-date=May 10, 2011 |archive-url=https://web.archive.org/web/20120204103034/http://www.techfest.com/networking/lan/ethernet3.htm |archive-date=February 2012}}
=== Siehe auch ===
* {{cite web |title= When Flow Control is not a Good Thing |date= November 7, 2007  |author= Tim Higgins |work= Small Net Builder |url= https://www.smallnetbuilder.com/lanwan/lanwan-features/30212-when-flow-control-is-not-a-good-thing |access-date= January 6, 2020}}
{{Special:PrefixIndex/Flow Control}}
*[http://www.tux.org/pub/sites/www.zip.com.au/%257Eakpm/linux/#flow-ctrl Linux Tool for generating flow control PAUSE frames]
----
*[https://github.com/archjeb/pfctest Python Tool to Generate PFC Frames]
{{Special:PrefixIndex/Ethernet}}
* {{Cite journal |title=Ethernet Flow Control |journal=Topics in High-Performance Messaging |url=http://www.29west.com/docs/THPM/thpm.html#ETHERNET-FLOW-CONTROL |archive-url=https://web.archive.org/web/20071208094516/http://www.29west.com/docs/THPM/thpm.html#ETHERNET-FLOW-CONTROL |archive-date=2007-12-08 }}
----
* [[Explicit Congestion Notification]]


{{Ethernet}}
==== Sicherheit ====
==== Dokumentation ====
===== RFC =====
===== Man-Page =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====
# https://en.wikipedia.org/wiki/Ethernet_flow_control


{{DEFAULTSORT:Ethernet Flow Control}}
[[Kategorie:Ethernet]]
[[Category:IEEE 802]]
[[Kategorie:Flow control]]
[[Category:Ethernet standards]]
[[Kategorie:IEEE 802]]
[[Category:Flow control (data)]]
</noinclude>

Aktuelle Version vom 6. November 2024, 12:32 Uhr

Ethernet Flow Control - Unterbrechung der Übertragung, um Staus zu vermeiden

Beschreibung

Ethernet Flow Control ist ein Mechanismus zur vorübergehenden Unterbrechung der Datenübertragung in Ethernet-Familien Computernetzwerken.

Pausenrahmen

IEEE 802.3x

  • Erster Flusskontrollmechanismus
Prioritätsbasierte Flusskontrolle

IEEE 802.1Qbb

  • bietet einen Flusskontrollmechanismus auf Verbindungsebene
  • Kann unabhängig für jede Dienstklasse (CoS) gesteuert werden kann

IEEE P802.1p

  • Priorisierung
  • Data Center Bridging-Netzwerke (DCB)
  • Priorisierung von Voice-over-IP (VoIP), Video-over-IP und Datenbanksynchronisierungsverkehr gegenüber Standarddatenverkehr und Massendatentransfers.
Eine sendende Station (Computer oder Netzwerk-Switch) überträgt möglicherweise Daten schneller, als das andere Ende der Verbindung sie annehmen kann.
  • Mithilfe der Flusskontrolle kann die empfangende Station dem Sender signalisieren, dass die Übertragungen unterbrochen werden sollen, bis der Empfänger aufholt.
  • Die Flusskontrolle bei Ethernet kann auf der Datenübertragungsschicht implementiert werden.
Der erste Flusskontrollmechanismus, der Pausenrahmen, wurde von der Arbeitsgruppe des Institute of Electrical and Electronics Engineers (IEEE) definiert, die die Vollduplex-Segmente Ethernet-Verbindungssegmente definierte.
  • Der IEEE-Standard 802.3x wurde 1997 veröffentlicht.
Ethernet flow control (Flusskontrolle) ist ein Mechanismus, der die Datenübertragung bei Ethernet temporär stoppt.
  • In CSMA/CD-Netzen konnte auf diese spezielle Signalisierung verzichtet werden, denn hier ist die Signalisierung einer Kollision praktisch gleichbedeutend mit einem Stopp- oder Pausensignal (Back Pressure).
Seit Fast-Ethernet und der Einführung von Switches findet die Datenübertragung praktisch nur noch kollisionsfrei im Vollduplex-Modus statt.
  • Da damit auf CSMA/CD verzichtet wird, ist eine zusätzliche Flusskontrolle erforderlich, die es einer Station beispielsweise bei Überlastung ermöglicht, ein Signal zu geben, dass sie zurzeit keine weiteren Pakete zugesandt haben möchte – anders als mit CSMA/CD gibt es keine Möglichkeit, einen Verlust und damit die Notwendigkeit einer erneuten Sendung anzuzeigen.
  • Hierzu wurde Flow Control eingeführt.
  • Damit kann eine Station die Gegenstellen auffordern, eine Sendepause einzulegen und vermeidet so, dass Pakete (zumindest teilweise) verworfen werden müssen.
  • Die Station schickt hierzu einer anderen Station (einer MAC-Adresse) oder an alle Stationen (Broadcast) ein PAUSE-Paket mit einer gewünschten Wartezeit.
  • Die Pause beträgt 0 bis 65535 Einheiten; eine Einheit entspricht der Zeit, die für die Übertragung von 512 Bit benötigt wird.
Ethernet Flow Control verbessert die Zuverlässigkeit der Zustellung – da die angeforderten Pausen direkt auf den sendenden Knoten wirken, kann es aber zu Leistungseinbußen kommen.
  • Wenn zum Beispiel ein Zielknoten die zu empfangenden Daten nur langsamer als mit der Übertragungsrate aufnehmen kann und deshalb Pause-Frames verschickt, bremst es den sendenden Knoten insgesamt, und dieser versorgt auch andere Zielknoten langsamer mit Daten als eigentlich möglich wäre (head-of-line blocking).
Flow Control ist optional und wird häufig nicht eingesetzt, um Head-of-Line-Blocking zu vermeiden.
  • In den meisten Netzwerken werden für wichtige Daten in den höheren Netzwerkschichten Protokolle verwendet, die leichte Übertragungsverluste ausgleichen können, insbesondere Transmission Control Protocol.
  • Wenn dies nicht möglich ist, muss durch die Netzwerkarchitektur oder andere Mechanismen sichergestellt werden, dass wichtige Pakete nicht verloren gehen können, zum Beispiel mit Quality of Service oder bei Fibre Channel over Ethernet.

PAUSE-Frame

Wireshark Screenshot eines Ethernet "Pause" Frames

Ein überlasteter Netzknoten kann einen Pausenrahmen senden, der die Übertragung des Senders für eine bestimmte Zeitspanne unterbricht.

  • Ein Media Access Control (MAC) frame (EtherType 0x8808) wird verwendet, um den Pause-Befehl zu übertragen, wobei der Control Opcode auf 0x0001 (hexadezimal) gesetzt ist.
  • Nur Stationen, die für Vollduplex-Betrieb konfiguriert sind, können PAUSE-Frames senden.
  • Wenn eine Station das andere Ende einer Verbindung anhalten möchte, sendet sie einen Pausenrahmen entweder an die eindeutige 48-Bit-Zieladresse dieser Verbindung oder an die reservierte 48-Bit-Multicast-Adresse von Vorlage:No wrap.

Die Verwendung einer bekannten Adresse macht es für eine Station unnötig, die Adresse der Station am anderen Ende der Verbindung zu ermitteln und zu speichern.

Ein weiterer Vorteil der Verwendung dieser Multicast-Adresse ergibt sich aus der Verwendung der Flusskontrolle zwischen Netzwerk-Switches.

  • Die verwendete Multicast-Adresse wird aus einer Reihe von Adressen ausgewählt, die durch den IEEE 802.1D-Standard reserviert wurden, der den Betrieb von Switches für Bridging spezifiziert.
  • Normalerweise wird ein an einen Switch gesendeter Rahmen mit einem Multicast-Ziel an alle anderen Ports des Switches weitergeleitet.
  • Dieser Bereich von Multicast-Adressen ist jedoch speziell und wird von einem 802.1D-kompatiblen Switch nicht weitergeleitet.
  • Stattdessen werden Frames, die an diesen Bereich gesendet werden, als Frames verstanden, die nur innerhalb des Switches bearbeitet werden sollen.

Ein Pausenrahmen enthält die angeforderte Pausenzeit in Form einer vorzeichenlosen Ganzzahl mit zwei Byte (16 Bit) (0 bis 65535).

  • Diese Zahl ist die angeforderte Dauer der Pause.
  • Die Pausenzeit wird in Einheiten von Pausen-"Quanten" gemessen, wobei jede Einheit 512 Bitzeiten entspricht.

Bis 1999 unterstützten mehrere Anbieter den Empfang von Pausenrahmen, aber nur wenige den Versand.

Probleme

Eine ursprüngliche Motivation für den Pausenrahmen war der Umgang mit Netzwerkschnittstellen-Controllern (NICs), die nicht über genügend Puffer für den Empfang mit voller Geschwindigkeit verfügten.
  • Mit den Fortschritten bei den Busgeschwindigkeiten und Speichergrößen ist dieses Problem nicht mehr so häufig.
  • Ein wahrscheinlicheres Szenario ist eine Netzwerküberlastung innerhalb eines Switches.
  • Beispielsweise kann ein Datenstrom über einen Link mit höherer Geschwindigkeit in einen Switch eintreten, als er ihn verlässt, oder es können mehrere Datenströme über zwei oder mehr Links eintreten, die insgesamt die Bandbreite eines Ausgangslinks übersteigen.
  • In diesen Fällen ist der Puffer des Switches irgendwann erschöpft.
  • Die Blockierung des sendenden Links führt jedoch dazu, dass alle Ströme über diesen Link verzögert werden, auch diejenigen, die keine Überlastung verursachen.
  • Diese Situation ist ein Fall von Head-of-Line-Blocking (HOL) und kann in Kernnetz-Switches aufgrund der großen Anzahl von Flüssen, die im Allgemeinen aggregiert werden, häufiger auftreten.
  • Viele Switches verwenden eine Technik namens virtuelle Ausgangswarteschlangen, um die HOL-Blockierung intern zu beseitigen, so dass niemals Pausenrahmen gesendet werden.

Nachfolgende Bemühungen

Überlastungsmanagement

Eine weitere Anstrengung begann im März 2004, und im Mai 2004 wurde daraus die IEEE P802.3ar Congestion Management Task Force.
  • Im Mai 2006 wurden die Ziele der Task Force überarbeitet, um einen Mechanismus zur Begrenzung der übertragenen Datenrate mit einer Granularität von etwa 1 % zu spezifizieren.
  • Der Antrag wurde zurückgezogen und die Task Force wurde 2008 aufgelöst.

Prioritätsflusskontrolle

Die Ethernet-Flusskontrolle stört die Ethernet-Dienstklasse (definiert in IEEE 802.1p), da die Daten aller Prioritäten angehalten werden, um die vorhandenen Puffer zu leeren, die auch aus Daten niedriger Priorität bestehen können.
  • Um dieses Problem zu lösen, hat Cisco Systems eine eigene Erweiterung des Standardprotokolls zur Prioritätsflusskontrolle definiert.
  • Dieser Mechanismus verwendet 14 Byte der 42-Byte-Polsterung in einem normalen Pausenrahmen.
  • Der MAC-Kontroll-Opcode für einen Prioritäts-Pausenrahmen ist 0x0101.
  • Anders als bei der ursprünglichen Pause wird bei der Prioritätspause die Pausenzeit in Quanten für jede der acht Prioritätsklassen separat angegeben.


Anhang

Siehe auch



Sicherheit

Dokumentation

RFC
Man-Page
Info-Pages

Links

Projekt
Weblinks
  1. https://en.wikipedia.org/wiki/Ethernet_flow_control