Ethernet/Flow Control: Unterschied zwischen den Versionen
Zeile 48: | Zeile 48: | ||
==Nachfolgende Bemühungen== | ==Nachfolgende Bemühungen== | ||
===Überlastungsmanagement=== | ===Überlastungsmanagement=== | ||
Eine weitere Anstrengung begann im März 2004, und im Mai 2004 wurde daraus die IEEE P802.3ar Congestion Management Task Force. | ; 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. | * 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. | * Der Antrag wurde zurückgezogen und die Task Force wurde 2008 aufgelöst. | ||
===Prioritätsflusskontrolle=== | ===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. | ; 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. | * 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. | * Dieser Mechanismus verwendet 14 Byte der 42-Byte-Polsterung in einem normalen Pausenrahmen. |
Version vom 24. März 2023, 00:10 Uhr
Ethernet flow control - Technik zur 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.
- Ziel dieses Mechanismus ist es, Paketverluste bei einer Netzwerküberlastung zu vermeiden.
- Der erste Flusskontrollmechanismus, der Pausenrahmen, wurde durch die Norm IEEE 802.3x definiert.
- Die nachfolgende prioritätsbasierte Flusskontrolle, die im IEEE 802.1Qbb-Standard definiert ist, bietet einen Flusskontrollmechanismus auf Verbindungsebene, der unabhängig für jede Dienstklasse (CoS) gesteuert werden kann, wie von IEEE P802.1p definiert, und ist für Data Center Bridging-Netzwerke (DCB) anwendbar und ermöglicht die 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.
- Mit Hilfe 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.
PAUSE-Frame
- 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.
Sicherheit
Siehe auch
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
Projekt
Weblinks
- https://en.wikipedia.org/wiki/Ethernet_flow_control
- Vorlage:Cite web
- Vorlage:Cite web
- Linux Tool for generating flow control PAUSE frames
- Python Tool to Generate PFC Frames
- Vorlage:Cite journal
Testfragen
Testfrage 1
Antwort1
Testfrage 2
Antwort2
Testfrage 3
Antwort3
Testfrage 4
Antwort4
Testfrage 5
Antwort5