Netzwerküberlastung in der Theorie der Datennetzwerke und Warteschlangen ist die reduzierte Dienstqualität, die auftritt, wenn ein Netzwerkknoten oder eine Netzwerkverbindung mehr Daten trägt, als sie verarbeiten können. Typische Auswirkungen sind Wartezeiten in der Warteschlange, Paketverlust oder das Blockieren neuer Verbindungen. Eine Überlastung hat zur Folge, dass eine inkrementelle Erhöhung der angebotenen Last entweder nur zu einer geringen Erhöhung oder sogar zu einer Verringerung des Netzwerkdurchsatzes führt. [1]
Netzwerkprotokolle, die aggressive Neuübertragungen verwenden, um Paketverluste aufgrund von Überlastung zu kompensieren, können die Überlastung auch nachher erhöhen Die anfängliche Last wurde auf ein Niveau reduziert, das normalerweise keinen Netzwerkstau verursacht hätte. Solche Netzwerke zeigen zwei stabile Zustände bei gleichem Lastniveau. Der stabile Zustand mit geringem Durchsatz ist als Stauungskollaps bekannt.
Netzwerke verwenden Überlastungskontrolle und Überlastungsvermeidung Techniken, um einen Kollaps zu vermeiden. Dazu gehören: exponentielles Backoff in Protokollen wie CSMA / CA in 802.11 und ähnliches CSMA / CD im ursprünglichen Ethernet, Fensterreduzierung in TCP und ordentliches Warteschlangen in Geräten wie Routern und Netzwerk-Switches. Andere Techniken, die eine Überlastung ansprechen, umfassen Prioritätsschemata, die einige Pakete mit einer höheren Priorität vor anderen übertragen, und die explizite Zuweisung von Netzwerkressourcen zu bestimmten Flüssen durch die Verwendung einer Zugangssteuerung.
Netzwerkkapazität [ edit ]
Netzwerkressourcen sind begrenzt, einschließlich Router-Verarbeitungszeit und Verbindungsdurchsatz. Ressourcenkonflikte können in Netzwerken unter einer Reihe allgemeiner Umstände auftreten. Ein Wireless LAN kann problemlos von einem einzelnen PC aus besetzt werden. Selbst in schnellen Computernetzwerken kann das Backbone leicht von wenigen Servern und Client-PCs überlastet werden. Denial-of-Service-Angriffe durch Botnetze sind in der Lage, selbst die größten Internet-Backbone-Netzwerkverbindungen zu füllen, was zu großen Netzwerkstaus führt. In Telefonnetzen kann ein Massenanrufereignis digitale Telefonverbindungen überfordern.
Stauungskollaps [ edit ]
Stauungskollaps (oder Stauungskollaps) ist die Bedingung, in der Überlastung nützliche Kommunikation verhindert oder einschränkt. Ein Staukollaps tritt im Allgemeinen an Drosselstellen im Netzwerk auf, an denen eingehender Verkehr die ausgehende Bandbreite überschreitet. Verbindungspunkte zwischen einem lokalen Netzwerk und einem Weitverkehrsnetz sind übliche Drosselstellen. Wenn sich ein Netzwerk in diesem Zustand befindet, befindet es sich in einem stabilen Zustand, in dem die Verkehrsnachfrage hoch ist, aber wenig nützlicher Durchsatz verfügbar ist, Paketverzögerung und -verlust auftreten und die Servicequalität extrem schlecht ist.
Ein kongestiver Kollaps wurde 1984 als mögliches Problem identifiziert. [2] Er wurde erstmals im Oktober 1986 im Internet beobachtet, als das NSFnet-Phase-I-Backbone von seiner Kapazität von 32 kbit / s um drei Größenordnungen abfiel 40 Bit / s, die fortgesetzt wurden, bis die Endknoten zwischen 1987 und 1988 mit der Implementierung der Überlastungssteuerung von Van Jacobson begannen. [3] Wenn mehr Pakete gesendet wurden, als von Zwischenroutern gehandhabt werden konnten, verworfen die Zwischenrouter viele Pakete und erwarteten die Endpunkte der Netzwerk, um die Informationen erneut zu übertragen. Frühe TCP-Implementierungen hatten jedoch ein schlechtes Übertragungswiederholungsverhalten. Wenn dieser Paketverlust auftrat, sendeten die Endpunkte zusätzliche Pakete, bei denen die Informationen wiederholt wurden, wodurch die eingehende Rate verdoppelt wurde.
Stauungskontrolle [ edit ]
Die Stauungssteuerung moduliert den Verkehrseintritt in ein Telekommunikationsnetz, um einen durch Überbelegung entstehenden Stau zu vermeiden. Dies wird normalerweise durch Verringerung der Paketrate erreicht. Während die Überlastungssteuerung verhindert, dass Absender das -Netzwerk überwältigen, verhindert die Flusskontrolle, dass der Sender den -Empfänger überfordert.
Theorie der Überlastungskontrolle [ edit ]
Die Theorie der Überlastungskontrolle wurde von Frank Kelly entwickelt, der mikroökonomische Theorie und konvexe Optimierungstheorie anwendete, um zu beschreiben, wie Individuen ihre eigenen Raten steuern können interagieren, um eine optimale netzweite Tarifzuordnung zu erreichen. Beispiele für eine optimale Rate Allocation sind die Max-Min-Fair-Allocation und Kellys Vorschlag einer proportional fairen Allokation, obwohl viele andere möglich sind.
Sei die Flussrate l sein die Kapazität der Verbindung und 1 sein, wenn der Fluss i link l "/> und 0 ist Andernfalls. und sind die entsprechenden Vektoren und Matrizen. sei eine zunehmende, streng genannte konkave Funktion, genannt das Dienstprogramm, das misst, wie viel Nutzen ein Benutzer durch Senden mit einer Rate erzielt. Die optimale Tarifzuteilung genügt dann
- so dass
Die Stauungssteuerung wird dann zu einem verteilten Optimierungsalgorithmus. In diesem Rahmen können viele gängige Algorithmen zur Überlastungssteuerung modelliert werden, wobei entweder die Verlustwahrscheinlichkeit oder die Warteschlange ist delay at link . Ein wesentlicher Schwachpunkt besteht darin, dass allen Flows derselbe Preis zugewiesen wird, während bei der Fließsteuerung der gleitenden Fenster Unruhe auftritt, die bewirkt, dass unterschiedliche Flows unterschiedliche Verluste oder Verzögerungen bei einer gegebenen Verbindung beobachten.
Klassifizierung von Algorithmen zur Überlastungskontrolle [ edit ]
Zu den Möglichkeiten zur Klassifizierung von Algorithmen zur Überlastungskontrolle gehören:
- Nach Art und Umfang der vom Netzwerk erhaltenen Rückmeldung: Verlust; verzögern; Explizite Signale mit einem oder mehreren Bits
- Durch inkrementelle Bereitstellbarkeit: Nur der Sender muss geändert werden. Sender und Empfänger müssen geändert werden; Nur der Router muss geändert werden. Sender, Empfänger und Router müssen modifiziert werden.
- Nach Leistungsaspekt: Produktnetzwerke mit hoher Bandbreite und Verzögerung; verlustbehaftete Links; Gerechtigkeit; Vorteil für kurze Flüsse; Links zu variablen Zinssätzen
- Nach Fairness-Kriterium: Max-Min-Fairness; verhältnismäßig fair; kontrollierte Verzögerung
Mitigation [ edit ]
Es wurden Mechanismen entwickelt, um Netzwerkstaus zu verhindern oder um einen Netzwerkzusammenbruch zu bewältigen:
Das korrekte Endpunktverhalten besteht in der Regel darin, abgelegte Informationen zu wiederholen, die Wiederholrate jedoch schrittweise zu verlangsamen. Wenn alle Endpunkte dies tun, hebt sich die Überlastung auf und das Netzwerk nimmt sein normales Verhalten wieder auf. Andere Strategien, wie z. B. ein langsamer Start, stellen sicher, dass neue Verbindungen den Router nicht überfordern, bevor die Überlastungserkennung eingeleitet wird.
Die gebräuchlichsten Mechanismen zur Vermeidung von Überlastungen von Routern sind das gerechte Warteschlangen- und andere Planungsalgorithmen und die zufällige Früherkennung oder RED (ROT), bei dem Pakete zufällig fallen gelassen werden, wodurch proaktiv die Endpunkte dazu gebracht werden, die Übertragung zu verlangsamen, bevor ein Zusammenbruch der Überlastung auftritt. Eine gerechte Warteschlange ist am nützlichsten bei Routern an Chokepoints mit einer geringen Anzahl von Verbindungen, die durch sie hindurchgehen. Größere Router müssen sich auf ROT verlassen.
Einige End-to-End-Protokolle verhalten sich unter überlasteten Bedingungen besser. TCP ist vielleicht am besten benommen. Die ersten TCP-Implementierungen zur Bewältigung von Überlastungen wurden 1984 entwickelt, [ ] . 1988 wurde Van Jacobson jedoch eine Open-Source-Lösung in den Berkeley Standard Distribution UNIX ("BSD") aufgenommen lieferte zunächst gutes Verhalten.
UDP kontrolliert nicht die Überlastung. Protokolle, die auf UDP erstellt werden, müssen Staus unabhängig behandeln. Protokolle, die unabhängig von Überlastungen eine feste Rate übertragen, können problematisch sein. Echtzeit-Streaming-Protokolle, einschließlich vieler Voice-over-IP-Protokolle, verfügen über diese Eigenschaft. Daher müssen besondere Maßnahmen wie das Quality of Service-Routing ergriffen werden, um zu verhindern, dass Pakete fallen gelassen werden.
Im Allgemeinen müssen Überlastungen in reinen Datagramm-Netzwerken an der Peripherie des Netzwerks aufbewahrt werden, wo die oben genannten Mechanismen damit umgehen können. Die Überlastung des Internet-Backbones ist problematisch. Günstige Glasfaserleitungen haben die Kosten im Internet-Backbone gesenkt, wodurch eine ausreichende Bandbreite zur Verfügung gestellt werden konnte, um die Überlastung der Peripherie aufrechtzuerhalten. Zitat erforderlich ]
Praktische Vermeidung von Netzwerkstau [ edit ]
Verbindungsorientierte Protokolle, wie das weit verbreitete TCP-Protokoll, achten im Allgemeinen auf Paketfehler, -verluste oder -verzögerungen (siehe Dienstqualität), um die Übertragungsgeschwindigkeit einzustellen. Verschiedene Prozesse zur Vermeidung von Netzwerküberlastungen unterstützen unterschiedliche Kompromisse. [4]
Vermeidung von TCP / IP-Überlastungen [ edit ]
Der TCP-Algorithmus zur Vermeidung von Überlastungen ist die Hauptgrundlage für die Überlastungskontrolle im Internet [5] [6]
[7] [8] [1945903] [8] [8] [8] [8] tritt auf, wenn bei gleichzeitigen TCP-Flows Tail-Drops des Port-Warteschlangenpuffers auftreten, wodurch die automatische Überlastung von TCP verhindert wird. Alle Flüsse, bei denen der Port-Warteschlangenpuffer im Tail-Drop-Modus auftritt, beginnen im selben Moment mit einer TCP-Umschulung.
Aktives Warteschlangenmanagement [ edit ]
Aktives Warteschlangenmanagement (AQM) ist das Umordnen oder Ablegen von Netzwerkpaketen innerhalb eines Sendepuffers, der einem Netzwerkschnittstellen-Controller (NIC) zugeordnet ist. . Diese Aufgabe wird vom Netzwerk-Scheduler ausgeführt.
Zufallsfrüherkennung [ edit ]
Eine Lösung ist die Verwendung der Zufallsfrüherkennung (RED) im Port-Warteschlangenpuffer des Netzwerkgeräts. [10][11] An Netzwerkgeräteanschlüssen mit mehr als Ein Warteschlangenpuffer, gewichtete zufällige Früherkennung (WRED) könnte verwendet werden, sofern verfügbar.
RED signalisiert Sender und Empfänger indirekt durch Löschen einiger Pakete, z. Wenn die durchschnittlichen Warteschlangenpufferlängen größer als ein Schwellenwert sind (z. B. 50%) und mehr oder mehr Pakete linear oder kubisch löscht, [12] bis z. 100%. Die durchschnittlichen Warteschlangenpufferlängen werden in Intervallen von 1 Sekunde berechnet.
Robuste Zufallsfrüherkennung (RRED) [ edit ]
Der robuste Zufallsfrüherkennungsalgorithmus (RRED) wurde vorgeschlagen, um den TCP-Durchsatz gegen Denial-of-Service (DoS) zu verbessern. Angriffe, insbesondere Low-Rate-Denial-of-Service-Angriffe (LDoS). Experimente bestätigten, dass RED-ähnliche Algorithmen bei Low-Rate-Denial-of-Service-Angriffen (LDoS) aufgrund der durch die Angriffe verursachten oszillierenden TCP-Warteschlangengröße anfällig sind. [13]
Flowbased-RED / WRED [ edit ]
Einige Netzwerkgeräte sind mit Ports ausgestattet, die jeden Fluss verfolgen und messen können (flussbasiert-RED / WRED) und dadurch einen zu großen Bandbreitenfluss gemäß einer bestimmten Dienstgüterichtlinie signalisieren können. Eine Richtlinie könnte dann die Bandbreite unter allen Flüssen nach bestimmten Kriterien aufteilen.
Explicit Congestion Notification [ edit ]
Ein weiterer Ansatz ist die Verwendung der IP Explicit Congestion Notification (ECN). [14] ECN wird nur verwendet, wenn zwei Hosts signalisieren, dass sie dies wünschen es. Bei dieser Methode wird ein Protokollbit verwendet, um eine explizite Überlastung zu signalisieren. Dies ist besser als die durch die RED / WRED-Algorithmen durchgeführte Überlastbenachrichtigung für indirekte Paketlöschung, erfordert jedoch die explizite Unterstützung durch beide Hosts. [15] Sally Floyd, Co-Autor von ECN, veröffentlichte detaillierte Informationen über ECN, einschließlich der für Cisco IOS erforderlichen Version. [10]
Wenn ein Router ein Paket erhält, das als ECN-fähig markiert ist und eine Überlastung (mit RED) vorhersagt, setzt er das ECN-Flag und benachrichtigt den Absender der Überlastung. Der Sender sollte darauf reagieren, indem er seine Übertragungsbandbreite verringert, beispielsweise indem er die TCP-Fenstergröße (Senderate) verringert oder auf andere Weise.
Cisco AQM: Dynamische Pufferbegrenzung [ edit ]
Cisco Systems (Engine IV und V) kann Flüsse als aggressiv (schlecht) oder adaptiv (gut) klassifizieren. Dadurch wird sichergestellt, dass keine Flows die Port-Warteschlangen füllen. DBL kann IP ECN anstelle von Paketlöschsignalisierung verwenden. [16] dead link ] [17]
TCP-Fensterformung [ edit ]
Congestion Vermeiden kann effizient erreicht werden, indem der Verkehr reduziert wird. Wenn eine Anwendung eine große Datei, Grafik oder Webseite anfordert, wird normalerweise ein "Fenster" zwischen 32 KB und 64 KB angezeigt. Dies führt dazu, dass der Server ein vollständiges Fenster mit Daten sendet (vorausgesetzt, die Datei ist größer als das Fenster). Wenn viele Anwendungen gleichzeitig Downloads anfordern, erzeugen diese Daten einen Überlastungspunkt bei einem übergeordneten Provider, indem die Warteschlange überflutet wird. Durch die Verwendung eines Geräts zum Reduzieren der Fensterankündigung senden die Remote-Server weniger Daten und verringern so die Überlastung. Diese Technik kann die Netzwerküberlastung um den Faktor 40 reduzieren. [ Zitat erforderlich ]
Rückwärts ECN [ edit ]
Backward ECN (BECN) ist ein weiterer vorgeschlagener Überlastungsmechanismus. Es verwendet ICMP-Quench-Quench-Nachrichten als IP-Signalisierungsmechanismus, um einen grundlegenden ECN-Mechanismus für IP-Netzwerke zu implementieren, Staubenachrichtigungen auf IP-Ebene zu halten und keine Verhandlungen zwischen den Netzwerkendpunkten zu erfordern. Effektive Überlastungsbenachrichtigungen können für die entsprechenden Anpassungen auf Transportschichtprotokolle wie TCP und UDP übertragen werden. [18]
Nebeneffekte der Vermeidung kongestiver Kollaps [ edit ]
Funkverbindungen edit ]
Die Protokolle, die einen stauenden Kollaps vermeiden, basieren häufig auf der Vorstellung, dass Datenverlust durch Stau verursacht wird. Dies trifft in fast allen Fällen zu. Fehler bei der Übertragung sind selten. Dies führt jedoch dazu, dass WLAN, 3G oder andere Netzwerke mit einer Funkschicht in manchen Fällen einen geringen Durchsatz aufweisen, da drahtlose Netzwerke aufgrund von Interferenzen für Datenverlust anfällig sind. Die TCP-Verbindungen, die über eine funkbasierte physikalische Schicht ausgeführt werden, sehen den Datenverlust und neigen irrtümlicherweise zu der Annahme, dass eine Überlastung auftritt.
Kurzlebige Verbindungen [ edit ]
Das Langsamstartprotokoll ist für kurze Verbindungen schlecht. Ältere Webbrowser erstellten viele kurzlebige Verbindungen und öffneten und schloss die Verbindung für jede Datei. Dadurch wurden die meisten Verbindungen im langsamen Startmodus gehalten, was die Antwortzeiten verlangsamte.
Um dieses Problem zu vermeiden, öffnen moderne Browser entweder mehrere Verbindungen gleichzeitig oder verwenden eine Verbindung erneut für alle von einem bestimmten Server angeforderten Dateien. Die anfängliche Leistung kann schlecht sein, und viele Verbindungen können den langsamen Start nicht verlassen, was die Latenz deutlich erhöht.
Zulassungskontrolle [ edit ]
Die Zulassungskontrolle erfordert, dass Geräte eine Genehmigung erhalten, bevor neue Netzwerkverbindungen hergestellt werden. Wenn die neue Verbindung zu einer Überlastung führen kann, kann die Erlaubnis verweigert werden. Ein Beispiel dafür ist die Verwendung von CFTXOPs (Contention Free Transmission Opportunities) im ITU-T G.hn-Standard, der Hochgeschwindigkeitsnetzwerke (bis zu 1 Gbit / s) über unterschiedliche Kabel (Stromleitungen, Telefon) ermöglicht Leitungen und Koaxialkabel).
Siehe auch [ edit ]
Referenzen [ edit
- (19659201) (Al-Bahadili, 2012, S. 282) Al-Bahadili, H. (2012). Simulation in Design und Modellierung von Computernetzwerken: Verwendung und Analyse. Hershey, PA: IGI Global.
- ^ RFC 896
- ^ Fall, K. R .; Stevens, W. R. (2011). TCP / IP Illustrated, Band 1: Die Protokolle (2. Aufl.). Pearson Ausbildung. p. 739. ISBN 9780132808187.
- ^ TCP-Tunnel: Vermeidung des Staukollaps (2000)
- ^ Van Jacobson, Michael J. Karels. Vermeidung und Kontrolle von Staus (1988). Verfahren des Sigcomm '88-Symposiums Bd. 18 (4): S. 314–329. Stanford, CA. August 1988. In dieser Arbeit wurden viele der Algorithmen zur Vermeidung von Überlastungen entwickelt, die in TCP / IP verwendet werden.
- ^ RFC 2001 - langsamer Start von TCP, Stauvermeidung, schnelle Neuübertragung und schnelle Wiederherstellungsalgorithmen
- ^ RFC 2581 - TCP-Überlastungskontrolle
- ^ RFC 3390 - TCP erhöht das Anfangsfenster von TCP
- ^ TCP-Überlastungsvermeidung über ein Sequenzdiagramm erläutert
- ^ a [194565919] b Sally Floyd: Warteschlangenverwaltung mit ROT (Random Early Detection)
- Sally Floyd, Van Jacobson. Zufällige frühe Erkennungs-Gateways zur Vermeidung von Staus (1993). IEEE / ACM-Transaktionen im Netzwerk Bd. 1 (4): S. 397–413. Erfindete Zufallsfrüherkennungs-Gateways (RED).
- ^ Ein analytisches RED-Funktionsdesign, das stabiles Systemverhalten garantiert Zitat: "... Der Vorteil dieser Funktion liegt nicht nur in der Vermeidung von starken Schwingungen, sondern auch in der Vermeidung Auslastung bei niedrigen Lasten: Die Anwendbarkeit der abgeleiteten Funktion ist unabhängig vom Lastbereich, es müssen keine Parameter eingestellt werden. Im Vergleich zur ursprünglichen linearen Drop-Funktion ist die Anwendbarkeit um ein Vielfaches erweitert ... Unser Beispiel mit realistischen Systemparametern liefert eine Näherungsfunktion der Kubik der Warteschlangengröße ... "
- ^ Zhang, Changwang; Yin, Jianping; Cai, Zhiping; Chen, Weifeng (2010). "RRED: Robuster RED-Algorithmus zur Bekämpfung von Low-Rate-Denial-of-Service-Angriffen" (PDF) . IEEE Communications Letters . IEEE. 14 : 489–491.
- ^ RFC 3168 - Die Hinzufügung einer expliziten Überlastungsbenachrichtigung (ECN) zu IP
- ^ Vergleichende Studie von RED, ECN und TCP Rate Control (1999)
- ^ Aktive Warteschlangenverwaltung
- ^ Aktivieren der Begrenzung dynamischer Puffer
- ^ Ein Vorschlag für das Rückwärtsprotokoll für das Internetprotokoll
- "Bereitstellen von IP- und MPLS-QoS für Multiservice-Netzwerke: Theorie und Praxis "von John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5)
- RFC 2914 - Prinzipien der Überlastungssteuerung, Sally Floyd, September 2000
- RFC 896 - "Stauungskontrolle in IP / TCP", John Nagle, 6. Januar 1984
- Einführung in Stauvermeidung und -kontrolle Van Jacobson und Michael J. Karels, November 1988
- "Deploying IP und MPLS QoS für Multiservice-Netzwerke: Theorie und Praxis "von John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-37 0549-5)
Externe Links [ edit ]
- Nagle, J. RFC 896: Stauungskontrolle in IP / TCP-Internetworks (1984)
- Floyd, S. RFC 2914: Prinzipien der Stauungskontrolle (2000)
- Floyd, S. und K. Fall, Förderung der Verwendung von End-to-End-Staukontrolle im Internet (IEEE / ACM Transactions on Networking, August 1999)
- Sally Floyd, Über die Entwicklung der End-to-End-Stauungskontrolle im Internet: Eine eigenwillige Sicht (IMA-Workshop zu Skalierungsphänomenen in der Kommunikation Networks, Oktober 1999) ( pdf-Format )
- Linktionary Begriff: Queuing
- Pierre-Francois Quet, Sriram Chellappan, Arjan Durresi, Mukundan Sridharan, Hitay Ozbay, Raj Jain, "Richtlinien zur Optimierung von Multi -Level ECN, unter Verwendung eines auf Flüssigkeitsströmungen basierenden TCP-Modells "
- Sally Floyd, Ratul Mahajan und David Wetherall: RED-PD: RED mit Preferential Dropping
- A Generic Simp le RED Simulator für Bildungszwecke von Mehmet Suzen
- Ansätze zur Stauungskontrolle in Paketnetzen
- Veröffentlichungen zur Staukontrolle
- Zufällige Früherkennung
- Explizite Staubenachrichtigungs-Startseite
- A FC Homepage
- [ permanente Verbindung ] TCP-Überlastungssimulation: Schnelle Wiederherstellung
- Aktuelle Veröffentlichungen bei Angriffen mit geringer Denial-of-Service (DoS)
Không có nhận xét nào:
Đăng nhận xét