• Keine Ergebnisse gefunden

ä ä ä ä ä ä ä ä Stand:29.M¨arz2021 RechnernetzeII(1/15) RolandWism¨ullerBetriebssysteme/verteilteSysteme RechnernetzeII(1/15) RolandWism¨ullerBetriebssysteme/verteilteSysteme

N/A
N/A
Protected

Academic year: 2022

Aktie "ä ä ä ä ä ä ä ä Stand:29.M¨arz2021 RechnernetzeII(1/15) RolandWism¨ullerBetriebssysteme/verteilteSysteme RechnernetzeII(1/15) RolandWism¨ullerBetriebssysteme/verteilteSysteme"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) i

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.dde Tel.: 0271/740-4050, B ¨uro: H-B 8404

Stand: 29. M ¨arz 2021

Rechnernetze II

SoSe 2021

ääääääää

Rechnernetze II

SoSe 2021

6 Uberlastkontrolle und ¨ Quality of Service

(2)

6 Uberlastkontrolle und ¨ Quality of Service ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 190

Inhalt

➥ Uberlastkontrolle¨

➥ Uberlastvermeidung¨

DECbit, RED, quellenbasierte ¨Uberlastvermeidung

➥ Quality of Service

Anforderungen, IntServ, DiffServ

➥ Peterson, Kap. 6.1-6.5

➥ Tanenbaum, Kap. 5.3, 5.4

6.1 Uberlastkontrolle¨

Was bedeutet ¨Uberlast?

➥ Pakete konkurrieren um Bandbreite einer Verbindung

➥ Bei unzureichender Bandbreite:

Puffern der Pakete im Router

➥ Bei Puffer ¨uberlauf:

Pakete verwerfen

➥ Ein Netzwerk mit h ¨aufigem Puffer ¨uberlauf heißt ¨uberlastet (congested)

(3)

6.1 Uberlastkontrolle ... ¨

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 192

Beispiel einer ¨Uberlastsituation

Quelle

Quelle

Ziel Router

1 Gb/s je 1 Gb/s

➥ Sender k ¨onnen das Problem nicht direkt erkennen

➥ Adaptives Routing l ¨ost das Problem nicht, trotz schlechter Link-Metrik f ¨ur ¨uberlastete Leitung

verschiebt Problem nur an andere Stelle

Umleitung ist nicht immer m ¨oglich (evtl. nur ein Weg)

im Internet wegen Komplexit ¨at derzeit utopisch

6.1 Uberlastkontrolle ... ¨

Uberlastkontrolle¨

➥ Erkennen und m ¨oglichst schnelles Beenden der ¨Uberlast

z.B. einige Sender mit hoher Datenrate stoppen

in der Regel aber Fairness gew ¨unscht

➥ Erkennen von drohenden ¨Uberlastsituationen und Vermeidung der ¨Uberlast (Uberlastvermeidung,¨6.2)

Abgrenzung

Flußkontrolle verhindert, daß ein Sender seinen Empf ¨anger

¨uberlastet

Uberlastkontrolle¨ (bzw. -vermeidung) verhindert, daß mehrere

(4)

6.1.1 Uberlastkontrolle in TCP¨

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 194

➥ Einf ¨uhrung Ende der 1980’er Jahre (8 Jahre nach Einf ¨uhrung von TCP) zur Behebung akuter ¨Uberlastprobleme

Uberlast¨ ⇒ Paketverlust ⇒ Neu ¨ubertragung ⇒ noch mehr Uberlast!¨

➥ Idee:

jeder Sender bestimmt, f ¨ur wieviele Pakete (Segmente) Platz im Netzwerk ist

wenn Netz

”gef ¨ullt“ ist:

Ankunft eines ACKs ⇒ Senden eines neuen Pakets

”selbsttaktend“

➥ Problem: Bestimmung der (momentanen) Kapazit ¨at

dauernder Auf- und Abbau anderer Verbindungen

6.1.1 Uberlastkontrolle in TCP ... ¨

Erinnerung: Flußkontrolle mit Sliding-Window-Algorithmus

➥ Empf ¨anger sendet in ACKs AdvertisedWindow (freier Pufferplatz)

➥ Sender darf dann noch maximal so viele Bytes senden:

EffectiveWindow =

AdvertisedWindow(LastByteSentLastByteAcked) Sendende

Anwendung EmpfangendeAnwendung

LastByteRcvd LastByteRead

LastByteSent LastByteAcked

LastByteWritten

NextByteExpected

TCP TCP

(5)

6.1.1 Uberlastkontrolle in TCP ... ¨

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 196

Erweiterung des Sliding-Window-Algorithmus

➥ Einf ¨uhrung eines CongestionWindow

Sender kann noch so viele Bytes senden, ohne Netzwerk zu

¨uberlasten

➥ Neue Berechnung f ¨ur EffectiveWindow

MaxWindow =

MIN (CongestionWindow, AdvertisedWindow)

EffectiveWindow =

MaxWindow(LastByteSentLastByteAcked)

➥ Damit: weder Empf ¨anger noch Netzwerk ¨uberlastet

➥ Frage: Bestimmung des CongestionWindow?

6.1.1 Uberlastkontrolle in TCP ... ¨

Bestimmung des CongestionWindow

➥ Hosts bestimmen CongestionWindow durch Beobachtung des Paketverlusts

➥ Basismechanismus:

Additive Increase / Multiplicative Decrease

➥ Erweiterungen:

Slow Start

Fast Retransmit / Fast Recovery

(6)

6.1.2 Additive Increase / Multiplicative Decrease

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 198

Vorgehensweise

CongestionWindow sollte

groß sein ohne / bei wenig ¨Uberlast

klein sein bei viel ¨Uberlast

➥ Uberlast wird erkannt durch Paketverlust¨

➥ Bei Empfang eines ACK:

Increment = MSS · (MSS / CongestionWindow)

CongestionWindow += Increment im Mittel: Erh ¨ohung um MSS Bytes pro RTT (MSS = Maximum Segment Size von TCP)

➥ Bei Timeout: CongestionWindow halbieren

h ¨ochstens, bis MSS erreicht ist

Anmerkungen zu Folie 198:

Die Grundidee beimAdditive Increase / Multiplicative Decrease ist folgende:

Wenn das ¨Uberlastfenster vollst ¨andig ¨ubertragen wurde, vergr ¨oßere das Fenster um ein Paket (additiv)

Wenn ein Paket verloren geht, halbiere das Fenster (multiplikativ)

Da in TCP die Fenstergr ¨oße aber nicht in Paketen (bzw. Segmenten), sondern in Bytes gemessen wird, wird dasIncrement gem ¨aß folgender ¨Uberlegung berechnet:

Pro RTT wird immer einCongestionWindow an Daten versendet.

Im Mittel soll daher dasCongestionWindow um ein (maximal grosses) Segment, also 1MSS, pro RTT erh ¨oht werden.

Wenn maximal grosse Segmente versendet werden, best ¨atigt somit jedes ACK den Anteil MSS/ CongestionWindowder Gesamtdatenmenge.

Also wird das ¨Uberlastfenster mit jedem ACK um diesen Anteil der MSSerh ¨oht, d.h. um(MSS /CongestionWindow) ·MSS.

(7)

6.1.2 Additive Increase / Multiplicative Decrease ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 199

Additive Increase

Sender Empfänger

CongestionWindow = 1 * MSS CongestionWindow = 2 * MSS

...

CongestionWindow = 3 * MSS

CongestionWindow = 4 * MSS

6.1.2 Additive Increase / Multiplicative Decrease ...

Typischer Zeitverlauf des CongestionWindow

Zeit

➥ Vorsichtige Erh ¨ohung bei erfolgreicher ¨Ubertragung, drastische Reduzierung bei Erkennung einer ¨Uberlast

ausschlaggebend f ¨ur Stabilit ¨at bei hoher ¨Uberlast

➥ Wichtig: gut angepaßte Timeout-Werte

Jacobson/Karels Algorithmus

(8)

6.1.3 Slow Start

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 201

Hintergrund

➥ Verhalten des ¨urspr ¨unglichen TCP beim Start (bzw. bei Wiederanlauf nach Timeout):

sende AdvertisedWindow an Daten (ohne auf ACKs zu warten)

d.h. Start mit maximalem CongestionWindow

➥ Zu aggressiv, kann zu hoher ¨Uberlast f ¨uhren

➥ Andererseits: Start mit CongestionWindow = MSS und Additive Increase dauert zu lange

➥ Daher Mittelweg:

Start mit CongestionWindow = MSS

Verdopplung bis zum ersten Timeout

6.1.3 Slow Start ...

Verhalten bei Timeout

➥ Slow Start wird auch verwendet, wenn eine Verbindung bis zu einem Timeout blockiert:

Paket X geht verloren

Sendefenster ist ausgesch ¨opft, keine weiteren Pakete

nach Timeout: X wird neu ¨ubertragen, ein kumulatives ACK

¨offnet Sendefenster wieder

➥ In diesem Fall beim Timeout:

CongestionThreshold = CongestionWindow / 2

Slow Start, bis CongestionThreshold erreicht ist, danach Additive Increase

(9)

6.1.3 Slow Start ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 203

Typischer Verlauf des CongestionWindow

Blockierung Threshold

Slow Start Increase

Additive

Additive Increase Threshold

Slow Start 16

24 40 [KB]

Zeit 32

8

Timeout

6.1.4 Fast Retransmit / Fast Recovery

➥ Lange Timeouts f ¨uhren oft zum Blockieren der Verbindung

➥ Idee: Paketverlust kann auch durch Duplikat-ACKs erkannt werden

➥ Nach dem dritten Duplikat-ACK:

Paket erneut ¨ubertragen

CongestionWindow halbieren ohne Slow Start

➥ Slow Start nur noch am Anfang und bei wirklichem Timeout

Sender Empfänger 1

2 3 4

3

ACK 1 ACK 2

ACK 6 ACK 2 ACK 2 ACK 2 6

5

(10)

6.2 Uberlastvermeidung¨

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 205

➥ Ziel der Uberlastvermeidung: reduziere Senderate,¨ bevor Uberlast (d.h. Paketverlust) entsteht¨

d.h. bei ersten Anzeichen einer drohenden ¨Uberlast

➥ Alternativen zur Erkennung drohender ¨Uberlast:

Router-zentrisch

Router melden an Hosts, wenn sie die Senderate reduzie- ren sollen

Basis: mittlere L ¨ange der Paket-Warteschlange im Router

Beispiele: DECbit, RED

Host-zentrisch (quellenbasierte ¨Uberlastvermeidung)

Hosts beobachten Anzeichen drohender ¨Uberlast selbst

z.B.: steigende Latenz, sinkender Durchsatz

Beispiel: TCP Vegas

6.2.1 DECbit

➥ Verwendet in DECs Digital Network Architecture

verbindungsloses Netz mit verbindungsorientiertem Transportprotokoll (analog zu TCP ¨uber IP)

➥ Router ¨uberwacht mittlere L ¨ange der Warteschlange (Puffer)

➥ Bei ¨Uberschreiten eines Grenzwerts:

Router setzt ein ¨Uberlastbit im Paketheader

Empf ¨anger kopiert dieses ¨Uberlastbit in sein ACK

Sender reduziert seine Senderate

(11)

6.2.1 DECbit ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 207

Mittlere Warteschlangenl ¨ange Warteschlangenlänge

Zeit aktuelle

Zeit

Router sendet Router

idle sendet

Router

Zeitintervall für Mittelwert

➥ Uberlastbit wird gesetzt, wenn Mittelwert¨ ≥ 1

6.2.1 DECbit ...

Reduktion der Senderate

➥ Uberlastfenster mit¨ Additive Increase / Multiplicative Decrease

➥ Host bobachtet, wieviele Pakete im letzten Fenster zu ACKs mit gesetztem ¨Uberlastbit f ¨uhrten

mehr als 50%: Fenster auf 7/8 der Gr ¨oße reduzieren

weniger als 50%: Fenstergr ¨oße um 1 erh ¨ohen

(12)

6.2.2 Random Early Detection (RED)

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 209

➥ Floyd/Jacobson 1993, entwickelt f ¨ur den Einsatz mit TCP

➥ Gemeinsamkeit mit DECbit

Router ¨uberwachen mittlere Warteschlangenl ¨ange, Quellen passen ¨Uberlastfenster an

➥ Unterschiede:

kein explizites Feedback, sondern Verwerfen eines Pakets

Zusammenarbeit mit TCP- ¨Uberlastkontrolle:

TCP halbiert bei Paketverlust das CongestionWindow!

Router verwirft also (einzelne) Pakete, bevor Puffer wirklich voll ist (und alle verworfen werden m ¨ussten)

Random Early Drop statt ausschließlich Tail Drop

ab einer bestimmten Warteschlangenl ¨ange, werden ankom- mende Pakete mit gewisser Wahrscheinlichkeit verworfen

6.2.2 Random Early Detection (RED) ...

Gewichtetes, gleitendes Mittel der Warteschlangenl ¨ange

AvgLen = (1−Weight) · AvgLen + Weight · SampleLen

SampleLen z.B. immer bei Ankunft eines Pakets messen

Warteschlangenlänge

Wert

momentaner

Zeit

gleitendes Mittel (SampleLen) (AvgLen)

➥ Reaktion nur auf langlebige ¨Uberlast, nicht auf kurze Bursts

Weight so w ¨ahlen, daß ¨uber ≥ 1 RTT gemittelt wird

(13)

6.2.2 Random Early Detection (RED) ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 211

Grenzwerte f ¨ur mittlere Warteschlangenl ¨ange

3.

2.

1.

AvgLen

MaxThreshold MinThreshold

1. Falls AvgLenMinThreshold: stelle Paket in Warteschlange

2. Falls MinThreshold < AvgLen < MaxThreshold:

➥ berechne Wahrscheinlichkeit P

➥ verwirf ankommendes Paket mit Wahrscheinlichkeit P

3. Falls AvgLenMaxThreshold: verwirf ankommendes Paket

6.2.2 Random Early Detection (RED) ...

Berechnung der Drop-Wahrscheinlichkeit

MinThreshold MaxThreshold

MaxThreshold − MinThreshold AvgLen − MinThreshold

P = 1 − count TempP. TempP

MaxP 1

AvgLen

TempP = MaxP . P(drop)

count: Anzahl der Pakete, die gepuffert (also nicht verworfen) wurden, seit AvgLen > MinThreshold

bewirkt gleichm ¨aßige zeitliche Verteilung verworfener Pakete

(14)

6.2.2 Random Early Detection (RED) ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 213

Bemerkungen

➥ RED ist n ¨aherungsweise fair

Anzahl verworfener Pakete in etwa proportional zum Band- breitenanteil eines Flusses

➥ Zur Wahl der Grenzwerte:

MinThreshold sollte groß genug sein, um Leitung auszulasten

oberhalb von MaxThreshold sollte noch gen ¨ugend Speicher- platz f ¨ur Bursts bleiben

Differenz gr ¨oßer als typische Erh ¨ohung von AvgLen w ¨ahrend einer RTT

im Internet typisch MaxThreshold = 2 · MinThreshold

6.2.3 Quellenbasierte ¨Uberlastvermeidung

Wie kann eine Quelle drohende ¨Uberlast erkennen?

➥ Messung der RTT zwischen Paket und ACK

volle Warteschlangen in Routern bewirken h ¨ohere RTT

z.B.: verkleinere ¨Uberlastfenster auf 7/8, wenn gemessene RTT ≥ Mittelwert von bisheriger min. und max. RTT

➥ Vergleich von erreichtem mit erwartetem Durchsatz

erwarteter Durchsatz: Fenstergr ¨oße / RTT

pro RTT wird ein Fenster an Daten verschickt

maximal erreichbarer Durchsatz

bei hoher Auslastung:

bei gr ¨oßerem Fenster werden lediglich mehr Pakete in Routern gepuffert, aber nicht mehr ¨ubertragen

(15)

6.2.3 Quellenbasierte ¨ Uberlastvermeidung ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 215

Uberlastvermeidung in TCP Vegas¨

➥ Berechne ExpectedRate = CongestionWindow / BaseRTT

BaseRTT: Minimum der bisher gemessenen RTTs

➥ Berechne ActualRate einmal pro RTT

Datenmenge, die zwischen dem Abschicken eines Pakets und dem Empfang des zugeh ¨origen ACK ¨ubertragen wurde

➥ Setze Diff = ExpectedRate - ActualRate

➥ Stelle ¨Uberlastfenster so ein, daß α ≤ Diff ≤ β:

falls Diff < α: vergr ¨oßere ¨Uberlastfenster linear

falls Diff > β: verkleinere ¨Uberlastfenster linear

➥ α, β bestimmen min./max. zu belegenden Pufferplatz

6.2.3 Quellenbasierte ¨ Uberlastvermeidung ...

Beispiel zu TCP Vegas

ExpectedRate

Zeit Zeit

ActualRate Durch α, β gegebener Bereich

Größe des Überlastfensters

ActualRate unterbalb des Bereichs: Gefahr, daß zu viele Pakete zwischengespeichert werden m ¨ussen

(16)

6.3 Quality of Service (QoS)

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 217

➥ Paketvermittelnde Netze sollen neben traditionellen (

”elastischen“) Anwendungen auch Echtzeitanwendungen unterst ¨utzen, z.B.:

Audio- und Video, z.B. Videokonferenz

industrielle Steueraufgaben, z.B. Roboter

Datenbank-Aktualisierung ¨uber Nacht

➥ Dazu: Daten m ¨ussen rechtzeitig ankommen

➥ Netzwerk muß neben Best Effort bessere Dienste bieten

Zusicherung der zeitgerechten ¨Ubertragung

i.d.R. ohne Paketverlust und Neu ¨ubertragung

Dienstg ¨ute (Quality of Service)

verschiedene Dienstklassen mit verschiedenen Garantien

6.3 Quality of Service (QoS) ...

Beispiel: Echtzeit-Audio ¨ubertragung

Abtasten WandlerA/D−

Puffer WandlerD/A−

➥ Sender tastet alle 125 µs ab, sendet regelm ¨aßig Pakete

➥ Empf ¨anger muß Signal mit der selben Rate wiedergeben

➥ Pakete treffen beim Empf ¨anger unregelm ¨aßig ein

zu sp ¨at kommende Pakete i.W. nutzlos!

auch verworfene und danach neu ¨ubertragene Pakete

(17)

6.3 Quality of Service (QoS) ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 219

Beispiel: Echtzeit-Audio ¨ubertragung ...

➥ Einf ¨uhrung eines Wiedergabepuffers:

Sequenznummer ZeitWiedergabe

ankunftPaket−

Netz−

verzögerung Paket−

erzeugung

unbrauchbarPakete Pufferzeit

➥ Je gr ¨oßer der Puffer, desto toleranter gegen Verz ¨ogerung

➥ Verz ¨ogerung durch Puffer darf nicht zu groß werden

z.B. f ¨ur Konversation max. ca. 300 ms

6.3 Quality of Service (QoS) ...

Typ. Verteilung der Verz ¨ogerungen einer Internet-Verbindung

150 100

50 Delay [ms]

99%

97%

90% 98%

Wahrscheinlichkeit

➥ 97% aller Pakete kommen nach max. 100 ms an

(18)

6.3 Quality of Service (QoS) ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 221

Taxonomie von Anwendungen

Echtzeit elastisch

intolerant tolerant

nicht−adaptiv adaptiv

ratenadaptiv verzögerungsadaptiv (gegen Verlust)

Anwendungen

➥ Ratenadaptiv: z.B. Anpassung der Aufl ¨osung bei Video

➥ Verz ¨ogerungsadaptiv: z.B. Anpassung Puffergr ¨oße bei Audio

6.3 Quality of Service (QoS) ...

(Animierte Folie)

Methoden zur Unterst ¨utzung von QoS

➥ Feingranulare Ans ¨atze

stellen Dienstg ¨ute f ¨ur einzelne Datenfl ¨usse bereit

im Internet: Integrated Services

ben ¨otigt viel

”Intelligenz“ in den Routern

➥ Grobgranulare Ans ¨atze

stellen Dienstg ¨ute nur f ¨ur aggregierten Verkehr bereit

im Internet: Differentiated Services

einfacher in den Routern, skalierbarer

keine wirklichen Ende-zu-Ende Garantien

(19)

6.3.1 Integrated Services

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 223

IntServ (IETF RFC 2205-2215)

➥ Motivation: Unterst ¨utzung von Multimedia-Streaming

➥ Basis: zus ¨atzliche Dienstklassen

Guaranteed Service

f ¨ur intolerante Anwendungen

Netz garantiert maximale Verz ¨ogerung

Controlled Load

f ¨ur tolerante, adaptive Anwendungen

emuliert wenig belastetes Netz

➥ Resource Reservation Protocol (RSVP) erlaubt Reservierungen

6.3.1 Integrated Services ...

Mechanismen zur Erbringung der Dienste

➥ FlowSpecs

Beschreibung des angeforderten Dienstes

Beschreibung der Datenfl ¨usse

➥ Zugangskontrolle

kann der Dienst bereitgestellt werden?

➥ Ressourcen-Reservierung

Protokoll zwischen Netzwerk-Komponenten

➥ Paket-Scheduling

um Dienstg ¨ute-Anforderungen in Routern zu erf ¨ullen

(20)

6.3.1 Integrated Services ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 225

FlowSpec

➥ RSpec (Request): Beschreibung des angeforderten Dienstes

Controlled Load Service (CLS)

Guaranteed Service (GS) + Spezifikation der maximalen Verz ¨ogerung

➥ TSpec (Traffic): Beschreibung des Datenflusses

maximale mittlere Datenrate

Varianz der Datenrate (Bursts)

Spezifiziert durch Token Bucket

6.3.1 Integrated Services ...

Token Bucket Filter

➥ Wandelt Datenstrom so um, daß

die mittlere Datenrate h ¨ochstens r ist

Bursts mit h ¨oherer Rate auf eine Gr ¨oße von B Bytes beschr ¨ankt sind

d.h. Router mit Datenrate r am Ausgang braucht h ¨ochstens B Bytes an Puffer

➥ Idee des Filters:

Sender ben ¨otigt f ¨ur jedes gesendete Byte ein Token

Sender startet mit 0 Token, bekommt r Token pro Sekunde,

kann maximal B Token akkumulieren

(21)

6.3.1 Integrated Services ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 227

Token Bucket Filter ...

Zeit [s]

1 2 3

1 2

r = 1 MB/s B = 0 r = 1 MB/s

Bandbreite [MB/s] B = 1 MB

➥ Beide Datenstr ¨ome haben dieselbe mittlere Datenrate, aber unterschiedliche Bucket-Tiefe

6.3.1 Integrated Services ...

Zugangskontrolle

➥ Wenn neuer Datenfluß bestimmte Dienstg ¨ute anfordert:

betrachte RSpec und TSpec

entscheide, ob Dienst bereitgestellt werden kann

bereits zugestandene Dienste d ¨urfen nicht beeintr ¨achtigt werden

➥ Entscheidung ggf. auf Basis von Benutzerklassen

➥ Nicht verwechseln mit Policing:

Pr ¨ufung, ob Datenstrom die TSpec einh ¨alt

regelverletzende Pakete werden verworfen bzw. als Wegwerfkandidaten markiert

(22)

6.3.1 Integrated Services ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 229

RSVP Reservierungsprotokoll

➥ Deutlich verschieden von Signalisierungsprotokollen in verbin- dungsorientierten Netzen

Ziel: Robustheit verbindungsloser Netze erhalten

Daher: Soft State mit periodischem Auffrischen (∼ alle 30 s)

➥ RSVP unterst ¨utzt auch Multicast-Fl ¨usse

Reservierung erfolgt durch Empf ¨anger

➥ Sender schicht PATH-Nachricht mit TSpec

➥ Empf ¨anger schickt RESV-Nachricht mit seinen Anforderungen (RSpec) entlang derselben Route zur ¨uck

Router teilen erforderliche Ressourcen zu

ggf. Zusammenfassung von Anforderungen m ¨oglich

6.3.1 Integrated Services ...

RSVP Reservierungsprotokoll ...

R

R R Empfänger A

Empfänger B Sender 2

Sender 1

R R PATH

PATH

RESV

(gemischt)RESV RESV (Verzögerung < 100ms)

(Verzögerung < 50ms) (Verzögerung < 50ms)

(23)

6.3.1 Integrated Services ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 231

Paketklassifizierung und Scheduling

➥ Klassifizierung: Zuordnung von Paketen zu Reservierungen

IPv4: ¨uber Quell-/Zieladresse, Quell-/Zielport, Protokoll

IPv6: ¨uber FlowLabel

➥ Einordnung in Klasse bestimmt Bearbeitung des Pakets in Router-Warteschlange (Scheduling):

bei GS: eine Warteschlange pro Fluß, Weighted Fair Queueing (WFQ)

Fair Queueing mit Gewichtung: jede Warteschlange erh ¨alt Bandbreitenanteil entsprechend ihrer Gewichtung

Ende-zu-Ende-Verz ¨ogerung leicht berechenbar

bei CLS: eine gemeinsame Warteschlange mit WFQ

Anmerkungen zu Folie 231:

BeimFair Queueing erh ¨alt jeder Fluß seine eigene Warteschlage. Idealerweise w ¨urden diese Warteschlangen in einer bitweisen Round-Robin-Strategie (RR) abgearbeitet, d.h., aus jeder Warteschlange wird abwechselnd ein Bit gesendet. Dann erhalten kla- rerweise alle Fl ¨usse exakt denselben Bandbreitenanteil. BeimWeighted Fair Queu- eing erh ¨alt jede Warteschlange ein Gewicht n, wobei aus dieser Warteschlange im idealisierten Modell dannnBits gesendet werden. Die Warteschlange erh ¨alt dann im Vergleich zu den anderen mehr Bandbreite.

Nat ¨urlich kann man die Warteschlange in Wirklichkeit nicht bitweise abarbeiten: es muß ja immer ein komplettes Paket entnommen und gesendet werden. Daher n ¨ahert man das obige Ideal wie folgt an: man berechnet f ¨ur jedes Paket, wann es gem ¨aß dem idealisierten Modell vollst ¨andig gesendet w ¨are und w ¨ahlt die Pakete dann in der Rei- henfolge der so berechneten Zeiten zum Senden aus.

N ¨aheres dazu im Buch von Peterson und Davie (Kap. 6.2.2. in der 3. Auflage).

(24)

6.3.1 Integrated Services ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 232

Zur Skalierbarkeit

➥ Router m ¨ussen Information f ¨ur einzelne Datenstr ¨ome speichern

➥ Potentiell sehr viel Information:

z.B. Audiostr ¨ome (64 Kb/s) ¨uber OC-48-Leitung (2.5 Gb/s):

bis zu 39000 Fl ¨usse!

➥ F ¨ur jeden Fluß muß Klassifizierung, Policing und Warteschlan- genverwaltung durchgef ¨uhrt werden

➥ Zus ¨atzlich: Mechanismen, um große Reservierungen f ¨ur lange Perioden zu vermeiden

➥ Wegen Skalierbarkeitsproblemen:

bisher keine breite Anwendung von IntServ

Anmerkungen zu Folie 232:

Bei Messungen wurden sogar 256000 Fl ¨usse ¨uber eine OC-3 Leitung festgestellt [Kurose/Ross, S. 538].

(25)

6.3.2 Differentiated Services

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 233

DiffServ (IETF RFC 2474/2475)

➥ Ziel: bessere Skalierbarkeit

➥ Einteilung des Verkehrs in wenige Verkehrsklassen

Zuteilung von Ressourcen an Verkehrsklassen statt einzelne Str ¨ome

➥ Arbeitsaufteilung:

Router an der Peripherie (z.B. Eingangsrouter eines ISP)

Zuweisung einer Verkehrsklasse an Pakete

z.B. je nach Kunde eines ISP

Policing: Einhaltung eines Verkehrsprofils

innere Router:

Weiterleitung der Pakete entsprechend Verkehrsklasse

6.3.2 Differentiated Services ...

Kennzeichnung von Verkehrsklassen

TOS-Feld in IPv4 bzw. TrafficClass-Feld in IPv6

wird vom Eingangsrouter gesetzt

z.B. aufgrund von Quell-/Ziel-Adresse, Quell-/Zielport

einfachster Fall: betrachte nur Quell-IP-Adresse

d.h. z.B. normaler und

”Premium“ Internetzugang

➥ Feld legt in Routern das Weiterleitungsverhalten (Per Hop Behavior, PHB) fest

derzeit spezifiziert:

Expedited Forwarding, EF (RFC 2598)

Assured Forwarding, AF (RFC 2597)

(26)

6.3.2 Differentiated Services ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 235

Expedited Forwarding

➥ Ziel: Pakete mit EF-Kennzeichung werden mit

minimaler Verz ¨ogerung

geringstm ¨oglichem Paketverlust

weitergeleitet, z.B. f ¨ur Voice over IP (VoIP)

➥ Router kann dies nur garantieren, wenn Ankunftsrate von EF-Paketen limitiert ist

Sicherstellung durch Router am Rand der Dom ¨ane

➥ M ¨ogliche Implementierungen:

EF-Pakete erhalten strikte Priorit ¨at

WFQ mit entsprechend hoher Gewichtung f ¨ur EF-Pakete

6.3.2 Differentiated Services ...

Assured Forwarding

➥ Ziel: gute Bandbreite bei geringer Verlustrate (z.B. f ¨ur Video)

➥ 4 Klassen, jeweils mit Mindestanteil an Bandbreite und Pufferplatz

realisierbar durch mehrere Warteschlangen und WFQ mit entsprechenden Gewichtungen

Beispiel mit zwei Klassen (Premium, Best Effort):

Gewichtung 1 f ¨ur Premium, 4 f ¨ur Best Effort

f ¨uhrt zu 20% reservierter Bandbreite f ¨ur Premium

Verz ¨ogerung f ¨ur Premium aber nicht notwendigerweise geringer als bei Best Effort

➥ Innerhalb jeder Klasse drei Drop-Priorit ¨aten

f ¨ur die ¨Uberlastvermeidung innerhalb der Klassen

realisierbar durch Weighted RED

(27)

6.3.2 Differentiated Services ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 237

Weighted RED

➥ Beispiel: RED mit zwei verschiedenen Drop-Wahrscheinlichkeiten

MaxP

Minout Minin Maxout Maxin 1

AvgLen P(drop)

in out

RIO: RED with In and Out

In: innerhalb der Verkehrsprofils, Out: außerhalb

6.3.3 Diskussion

➥ QoS im Internet motiviert durch Multimedia-Anwendungen

➥ IntServ

Guaranteed Service kann max. Verz ¨ogerung garantieren

getrennte Behandlung der einzelnen Fl ¨usse

explizite, dynamische Ressourcenreservierung durch RSVP

Probleme: gr ¨oßere ¨Anderungen in Routern, Skalierbarkeit

➥ DiffServ

Skalierbarer Ansatz

Klassifikation von Paketen am Rand des Netzwerks, Paketklasse bestimmt Behandlung in Routern

Frage: ausreichend f ¨ur Anwendungen?

(28)

6.4 Zusammenfassung / Wiederholung

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 239

Uberlastkontrolle¨

➥ Uberlast: h ¨aufiger Paketverlust im Netz, da Pakete nicht weiterge-¨ leitet und auch nicht mehr gepuffert werden k ¨onnen

➥ Uberlastkontrolle in TCP¨

Additive Increase / Multiplicative Decrease

verkleinere Fenster bei ¨Uberlast drastisch

Erweiterungen: Slow Start, Fast Retransmit / Fast Recovery

Uberlastvermeidung¨

➥ Senderate reduzieren, bevor ¨Uberlast auftritt

➥ Erkennung drohender ¨Uberlast:

Router: mittlere Warteschlangenl ¨ange

Host: Latenz bzw. Durchsatz

6.4 Zusammenfassung / Wiederholung ...

Uberlastvermeidung ...¨

➥ DECbit

falls mittlere Warteschlangenl ¨ange ¨uber Grenzwert:

Router setzt ¨Uberlastbit im Paketheader

Empf ¨anger kopiert ¨Uberlastbit in ACK

Sender reduziert ¨Uberlastfenster, wenn die Mehrzahl der ACK’s ¨Uberlastbit gesetzt hat

➥ RED (Random Early Detection)

f ¨ur Zusammenarbeit mit TCP konzipiert

falls mittlere Warteschlangenl ¨ange ¨uber Grenzwert:

Router verwirft zuf ¨allig einige Pakete

TCP reduziert bei Paketverlust das Sendefenster

(29)

6.4 Zusammenfassung / Wiederholung ...

Roland Wism ¨uller

Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) 241

Uberlastvermeidung ...¨

➥ Quellenbasierte ¨Uberlastvermeidung

TCP Vegas: Vergleich von tats ¨achlichem Durchsatz und erwartetem (maximalem) Durchsatz

Differenz ist Maß f ¨ur beanspruchten Pufferplatz

Sendefenster so regeln, daß immer (nur) eine kleine Zahl von Puffern belegt wird

QoS (Quality of Service)

➥ Unterst ¨utzung verschiedener Dienstklassen mit Garantien bzgl.

Bandbreite, Latenz, Jitter, etc.

➥ F ¨ur Realzeit- bzw. Multimedia-Anwendungen

6.4 Zusammenfassung / Wiederholung ...

QoS (Quality of Service) ...

➥ Integrated Services: feingranularer Ansatz

fluß-spezifische Dienstg ¨ute-Garantien

Mechanismen: Flow Specs, Zugangskontrolle, Reservierung, Paket-Scheduling

Spezifikation des Flusses ¨uber Token Bucket

zwei Dienste: Guaranteed Service, Controlled Load

Problem: Skalierbarkeit in den Routern

➥ Differentiated Services: grobgranularer Ansatz

Einteilung der Pakete in Verkehrsklassen

Zuteilung von Ressourcen an Verkehrsklassen

Referenzen

ÄHNLICHE DOKUMENTE

[r]

[r]

äiiää;:äiäiiiiiiiäEiääiä:ääiiiiii üläiä I äiä:liiiiäa iiääiEiiEä

[r]

Im WAN-Bereich werden Daten auch bei hohen Bandbreiten seriell ¨ubertragen (im Gegensatz z.B. zu neueren Ethernet-Standards, in denen Daten teilweise parallel ¨uber mehrere

➥ der gesamte Frequenzbereich ab 0 Hz wird f ¨ur DSL genutzt, ein Telefon kann also nicht mehr angeschlossen werden. ➥ als Modulation wird nicht DMT verwendet, sondern CAM

Beim klassischen (10 Mb/s) Ethernet wird alle 16 ms ein Puls von 100 ns L ¨ange auf die Leitung gegeben, falls keine ¨ Ubertragung stattfindet (Normal Link Pulse). Dadurch k ¨onnen

In den MIC fließt auch ein Nonce-Wert (bestehend u.a. aus Quelladresse und Pa- ketz ¨ahler des Frames) mit ein, da f ¨ur die Verschl ¨usselung und den MIC derselbe Schl ¨ussel