Performance Engineering Flashcards

1
Q

Wovon sind die Anforderungen von Anwendungen an die Performance eines Computernetzes abhängig?

A

Die Anforderungen sind abhängig von verschiedenen Parametern. Anwendungen mit Echtzeitkommunikation haben beispielsweise andere Anforderungen als E-Mail-Verkehr. Anwendungen mit unterschiedlichen Anforderungen konkurrieren stets um die zur Verfügung stehenden Ressourcen. Um allen Anforderungen gerecht zu werden, sind Mechanismen vorgesehen, die es erlauben den Verkehr differenziert zu behandeln und entsprechend ihren Anforderungen im Computernetz weiterzuleiten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Mechanismen sind massgebend für den Quality of Service?

A

Massgeblich sind die auf der Vermittlungsschicht vorgesehenen Mechanismen für die Verkehrssteuerung und Verkehrsflussüberwachung, deren Verhalten direkten Einfluss auf die Congestion Management Mechanismen der Protokolle auf der Transportschicht haben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was versteht man unter Quality of Service, welche Mechanismen werden eingesetzt und welche Parameter werden beachtet?

A

Die Quality of Service (Qos), oder auch Dienstgüte, bezieht sich auf die Fähigkeit des Computernetzes, die in einem Service Level Agreement (SLA) spezifizierten Anforderungen einzuhalten. Dazu werden verschiedene Mechanismen eingesetzt:
* Priorisierung von Datenflüssen
* Überwachung und Steuerung der Ressourcenaufteilung
* Verzögerung der Datenflüsse

Anforderungen beziehen sich stets auf den einzelnen Datenfluss einer Anwendung oder eines Dienstes und werden anhand von Perfomance-Parameter beschrieben:
* Maximal zulässige Verzögerung
* Maximal zulässige Verzögerungsjitter
* Maximal zulässige Paketverlustrate
* Minimal zur Verfügung stehende Übertragungsrate
* Durchschnittlich zur Verfügung stehende Übertragungsrate mit zulässiger Abweichung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Verschiedene QoS-Anforderungen für unterschiedliche Anwendungen und Dienste

A

Existieren, bezogen auf unterschiedliche Anwendungen und Dienste, verschiedene QoS-Anforderungen, wird von einem unterschiedlichen Grad der Dienstgüte gesprochen. Die unterschiedlichen Arten der QoS-Anforderungen stehen in einer hierarchischen Relation zueinander. Die QoS-Anforderungen beziehen sich immer auf ein Paket, einen Datenfluss oder eine Anwendung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

QoS: Verzögerung

A

Unter Verzögerung versteht man die Zeitdifferenz bei einer Informationsübertragung zwischen einem Sender- und einem Empfängerknoten. Sie setzt sich zusammen aus den vom Computernetz als auch von weiteren Systemkomponenten verursachten Verzögerungen. Je nach Anwendungsfall sind unterschiedliche Abschnitte der Kommunikationsstrecke von Bedeutung. Betrachtet man die Dienstgüte, wird die Ende-zu-Ende-Verzögerung angeschaut. Bei einer Analyse des Computernetzes beschränkt man sich hingegen auf einen Pfad zwischen den Endpunkten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

QoS: Verzögerungsjitter

A

Da die verschiedenen Varianten der Verzögerung lediglich eine Momentaufnahme der Verzögerung erlauben wird meist auch die Abweichung von der mittleren Verzögerungszeit berücksichtigt. Diese wird als Jitter bezeichnet. Wird der definierte Wert über eine längere Zeit in einer negativen Weise überschritten, gilt die QoS-Anforderung nicht mehr als eingehalten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

QoS: Datenrate (Definition, 3 Formen von Datenraten)

A

Die Datenrate definiert die Fähigkeit eines Systems eine bestimmte Anzahl Datenbits in einem Zeitintervall zwischen zwei Punkten zu übertragen. Es werden drei Formen der Datenrate unterschieden:
* Spitzendatenrate (SDR): kurzzeitig, höchstmögliche Datenrate
* Durchschnittliche Datenrate (DDR)
* Minimale Datenrate (MDR): in der Regel die Mindestauslastung des Übertragungsmediums

Von Bedeutung für das Performance-Engineering sind die minimale Datenrate (MDR), die eine untere, häufig feste Schranke definiert, sowie die durchschnittliche Datenrate (DDR).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

QoS: Zuverlässigkeit

A

Die Zuverlässigkeit gibt an, inwieweit ein System deterministisch und korrekt arbeitet und gibt Auskunft darüber, wie schnell sich ein System nach einem Ausfall wieder in den normalen Zustand versetzen lässt.

Zuverlässigkeit kann aber auch definieren, dass ein Dienst in jedem Fall zur Verfügung stehen muss, d.h. von diesem Dienst gesendete Pakete in jedem Fall weitergeleitet werden müssen. Damit dies funktioniert muss aber nicht nur die Verfügbarkeit sondern auch die minimal Datenrate betrachtet werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was versteht man unter Differenzierung von Paketen und Datenflüssen?

A

Eine Differenzierung von Paketen und Datenflüssen bedeutet, dass die ursprüngliche Reihenfolge manipuliert wird, zugunsten der Datenflüsse, die hohe Anforderungen an die Performance des Computernetzes haben. Einzelne Datenflüsse oder Klassen von Datenflüssen werden dabei priorisiert. Die Differenzierung erfolgt in der Regel auf den Edge-Routern eines Netzwerkes.
Ohne Differenzierung erfolgt keine Manipulation der Reihenfolge, somit würden die Pakete im Netzwerk entsprechend ihrer Eingangsreihenfolge unpriorisiert weitergeleitet werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Prozess zur Gewährleistung von Dienstgüte

A

Der Grundlegende Prozess zur Gewährleistung von Dienstgüte ist eine Aneinanderkettung mehrere Mechanismen, welche in ihrer Summe notwendig sind, um eine bestimmte Qualität im Netzwerk für einzelne Datenflüsse gewährleisten zu können. In den Architekturen IntServ und DiffServ werden diese in unterschiedlicher Ausprägung und mit verschiedenen Eigenschaften realisiert.
Zuerst werden die eingehenden Pakete analysiert, damit eine Identifizierung des eingehenden Dienstes durchgeführt werden kann. Danach erfolgt eine Klassifizierung. Die Klassifizierung ist Voraussetzung für die nachfolgende Markierung der Pakete.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wo werden die Congestion Management Mechanismen der Vermittlungsschicht angewandt und mit welchem Ziel?

A

Bevor Pakete in die Warteschlange der Koppelelemente eingereiht werden, werden Congestion Avoidance Mechanismen angewandt. Dadurch werden einerseits Überlastsituationen in den Warteschlangen gezielt vermieden, andererseits einzelne Datenflüsse entsprechend des ihnen zugewiesenen Ressourcenanteils reguliert. Danach erfolgt die Einordnung in unterschiedliche Warteschlangen und darauf die Abarbeitung der Warteschlangen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Identifikation und Klassifizierung von Datenflüssen

A

Damit eine differenzierte Behandlung von Datenflüssen möglich ist, müssen zuerst die Anwendungen, welche die verschiedenen Datenflüsse erzeugen, identifiziert und entsprechend klassifiziert werden. Dies ist Voraussetzung für den Prozess der Gewährleistung von Dienstgüte. Die Ergebnisse der Identifizierung und Klassifizierung bestimmen, wie die Datenflüsse differenziert werden müssen. Da dieser Schritt sehr rechenintensiv ist, wird er in der Regel nur einmal für eine Verbindung bzw. einen Datenfluss durchgeführt. Durch die nachfolgende Markierung können Ergebnisse der Klassifizierung auch auf weiteren Koppelelementen verwendet werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Analyse von IP-Paketen auf Vermittlungsschicht

A

Bei der Analyse von IP-Paketen auf der Vermittlungsschicht werden in der Regel folgende Parameter analysiert:
* Quell-IP-Adresse
* Ziel-IP-Adresse
* ISO/OSI-Layer-4-Protokoll

Die Quell-IP-Adresse erlaubt es Benutzer zu identifizieren, die eine Anwendung nutzen und für die Qualitätsanforderungen vorliegen. So können unterschiedliche Qualitäten für verschiedene Nutzer gewährleistet werden.
Mit der Ziel-IP-Adresse kann der angebotene Dienst identifiziert werden.
Über das ISO/OSI-Layer-4-Protokoll lassen sich die infrage kommenden Dienste einschränken, da es viele Dienste gibt, für die eindeutig ist, ob sie z.B. UDP oder TCP verwenden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Erweiterte Analyse auf der Transportschicht

A

Bei der erweiterten Analyse auf der Transportschicht werden zusätzlich Quell-Port und Ziel-Port analysiert.
Quell-Port bietet keine signifikante Aussagekraft, da der Quell-Port zufällig gewählt wird und der Aufruf eines Dienstes durch den Client erfolgt.
Ziel-Port gibt Aufschluss darüber, welcher Dienst aufgerufen wird und der Verkehr kann dementsprechend durch Dienstgüte-Mechanismen differenziert behandelt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Probleme bei der Identifikation und Klassifizierung

A

Probleme können auftreten, wenn Anwendungen gezielt falsche Ports verwenden, um sich einen Vorteil bei der Differenzierung zu verschaffen. z.B. kann eine eigentlich interaktive Anwendung die Ports von Echtzeitanwendungen nutzen und dem System so vortäuschen, eine höhere Anforderung zu haben.
Durch die gezielte Kombination der Analyse von Parametern der Vermittlungsschicht sowie der Transportschicht, lässt sich dieses Problem zumindest minimieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Identifizierung und Klassifizierung auf der Anwendungsschicht und Probleme damit (wieso, Lösung für Problem)

A

Führen die Analysen der Daten der Transportschicht und Vermittlungsschicht häufig zu Fehlern ist es möglich, Informationen der Anwendungsschicht für die Identifizierung und Klassifizierung heranzuziehen. Dafür wird das Anwendungsprotokoll identifiziert, anhand dessen der jeweilige Dienst erkannt werden kann.
Protokolle wie HTTP werden jedoch oft als Trägerprotokolle für Daten anderer Anwendungen missbraucht. Daher kann es nötig sein auch den Pyload auf der Application Layer zu analysieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was muss bei der Auswahl der Analysemethode beachtet werden?

A

Bei der Auswahl der Analysemethode müssen zwei Dingen abgewogen werden. Bei Analyse zusätzlicher Informationen Steigt die Identifizierungsgenauigkeit, jedoch auch die Performanceeinbussen.
Erfolg die Identifizierung und Klassifizierung auf dem verkehrsverursachenden Host selbst, kann auch der paketerzeugende Systemprozess zur Analyse herangezogen werden. Dies birgt jedoch die Gefahr, dass der Host einfacher zu manipulieren ist. Der Benutzer darf keinen Eingriff in die Klassifizierung verüben können und auch die Anwendung selbst darf nicht opportunistisch handeln. Da die rechenintensiven Vorgänge dabei jedoch von den Routern auf die Hosts verlagern werden ergibt sich ein signifikanter Performancevorteil.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Markierung von Netzwerkpaketen

A

Um den rechenintensiven Schritt der Identifizierung und Klassifizierung nicht auf jedem Router wiederholen zu müssen, können Pakete markiert werden. Es muss dann nur noch die Markierung ausgelesen und ausgewertet werden.
Bei Einsatz von IPv4 und DiffServ erfolgt die Markierung z.B. über das Type-of-Service-Feld, bei Ipv6 über das Traffic-Class-Feld. Die Art der Markierung ist ausserdem architekturabhängig. Aufgrund der beschränkten Anzahl von Verkehrsklassen werden in der Regel mehrere Anwendungen einer Verkehrsklasse zugeordnet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Ursache einer Überlast in Computernetzen

A

Eine Überlast in einem Computernetz kommt von einer Überlastung von mindestem einem Router. Dies bedeutet, das im internen Puffer des Routers die Eingangsrate der Daten grösser ist als die Ausgangsrate. Wenn der Puffer voll ist können Pakete nicht mehr zwischengespeichert und weitere eingehende Pakete müssen direkt verworfen werden, da keine Zwischenspeicherung mehr möglich ist. Dieses Verhalten wird Tail-Drop genannt, da am Ende des Puffers die eingehenden Pakete verworfen werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Problem beim Tail-Drop

A

Auf der Transportschicht sorgt TCP dafür, dass ein Byte-Strom vollständig von Sender zu Empfänger übertragen wird. Das Congestion Management von TCP reagiert auf Pakete, die übermässig verzögert beim Empfänger ankommen sowie auf den Paketverlust, der bei einem überfülten Puffer eintritt. Da die verworfenen Pakete in der Regel zu unterschiedlichen Anwendungen von unterschiedlichen Hosts gehören, werden alle TCP-Verbindungen auf die Überlast reagieren und die Senderate drosseln. Dies führt zunächst zu einer Unterauslastung des Netzes, worauf die Senderate wieder von allen TCP-Verbindungen erhöht wird und es wieder zu einer Überlastsituation kommt. Erst das Beenden mehrere Verbindungen kann den Netzzustand wieder stabilisieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Wozu wird Random Early Detection (RED) verwended?

A

RED ermöglicht die weitestgehende Beseitung des Problems der globalen Synchronisation von TCP-Verbindungen, indem es zufällig eingehende Pakete auf einem Router verwirft, auch wenn der Eingangspuffer noch nicht voll ist. Überlastsituationen lassen sich so nahezu unterbinden. Durch das zufällige Verwerfen einzelner Pakete werden Überlastsituationen frühzeitig erkannt und TCP kann frühzeitig reagieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Arbeitsweise von Random Early Detection (RED)

A

Für die Entscheidung, ob ein Paket verworfen wird, sind verschiedene Eigenschaften des Eingangspuffers von Bedeutung.
* Durchschnittliche Warteschlangenlänge
* Unterer Schwellenwert der Warteschlangenlänge
* Oberer Schwellenwert der Warteschlangenlänge

Die durchschnittliche Warteschlangenlänge wird als gleitender Mittelwert berechnet, um die Auswirkungen von auftretenden Bursts zu minimieren.
Bei jedem Paket wird zunächst überprüft, wie stark die Warteschlange beim Eintreffen des Pakets ausgelastet ist:
* Wird der untere Schwellenwert nicht erreicht, wird das Paket der Warteschlange angehängt.
* Wird der obere Schwellenwert überschritten, wird das Paket direkt verworfen
* Wird der untere Schwellenwert überschritte, der obere Schwellenwert aber nicht erreicht, wird die Verwurfswahrscheinlichkeit berechnet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Weighted Random Early Detection (WRED)

A

Da RED keine Differenzierung unterschiedlicher Verkehrsklassen unterstützt, wurde die Ergänzung WRED entwickelt. Es ermöglicht eine zusätzliche Gewichtung der Schwellenwerte für jede Verkehrsklasse. Entsprechend dem Gewicht kann die Verwurfswahrscheinlichkeit für jede Verkehrsklasse anders sein.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Explicit Congestion Notification

A

Explicit Congestion Notification wurde eingeführt, um den bei RED entstehenden Zeitverlust und Overhead zu reduzieren. Ein Router der vor der Überlast steht oder bereits überlastet ist, sendet ein Paket, mit dem Explicit Congestion Notification Flag, weiter, anstatt es zu verwerfen. In der Antwort an den Sender wird diesem so mitgeteilt, dass er die Congestion Window Size reduzieren und somit beim nächsten Versenden nur einen Byte-Stream mit vermindertem Maximum übertragen darf.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Wozu wird Policing verwendet und was ist der Vorteil?

A

Mit Policing können Paketströme gezielt reguliert werden, um mögliche Überlastsituationen zu vermeiden oder einen möglicherweise aggressiven Datenstrom gezielt zu unterbinden. Diese Regulierung kann z.B. über entsprechende Congestion Avoidance Algorithmen erfolgen. Policing hilft dabei spezifizierte Performance-Anforderungen von Datenflüssen einzuhalten und dafür zu sorgen, dass sich Datenflüsse mit unterschiedlicher Priorität nicht gegenseitig beeinflussen.
Vorteil von Policing ist, dass es ein kurzfristiges Feedback an den Sender gibt, da dieser die verlorengegangenen Pakete registriert und anschliessend seine Ausgangsdatenrate reduzieren kann.

26
Q

Queuing und Shaping

A

Queuing und Shaping folgen in der Regel auf das Policing. Auch hier wird die Datenrate eines Datenflusses reguliert, jedoch nicht durch verwerfen, sondern durch Puffern. Entsprechend ihrer Verkehrsklasse werden Pakete in unterschiedliche Warteschlangen zwischengespeichert, anstatt direkt verworfen zu werden. Die Warteschlangen sind hier als Ausgangspuffer mit begrenzter Grösse zu betrachten. Ein Algorithmus der die Warteschlangen bedient, bestimmt die Verzögerung in der Weiterleitung der Pakete.

27
Q

Leaky Bucket

A

Ein Leaky Bucket ist eine Warteschlange fester Länge, die eine definierte Ausgangsrate besitzt und erlaub es so für einen Datenfluss eine feste Ausgangsrate zu kontrollieren. Ist der Leaky Bucket voll, werden eintreffende Pakete direkt verworfen, was bei variablen Eingangsraten und auftretenden Bursts häufig der Fall ist. Die Datenrate kann so auf ein definiertes Maximum reduziert werden, jegliche eingehenden Bursts werden auf die Grösse der Ausgangsdatenrate beschränkt.

28
Q

Token Bucket

A

Der Token Bucket erlaubt es, für einen Datenfluss eine feste Ausgangsrate zu kontrollieren. Es beinhaltet einen Token Bucket sowie einen Packet Bucket.
Token Buket:
* Grösse des Token Buckets bestimmt die maximale Burst Grösse
* Der Token Bucket wird mit einer definierten Token Arrival Rate gefüllt, welche über einen längeren Zeitraum die durchschnittliche Datenrate bestimmt.
* Solange Token Bucket nicht leer ist, werden Pakete aus dem Packet Bucket ins Netzwerk weitergeleitet.
* Ist Token Bucket leer, verbleiben Pakete vorerst im Packet Bucket, bis wieder ausreichend Token verfügbar sind.
* Ist Token Bucket voll, werden weitere Token verworfen.
* Token Arrival Rate sollte leicht über der Eingangsrate des Packet Buckets liegen.

Paket Bucket:
* Wird mit eingehenden Pakete befüllt und stellt den Puffer dar
* Ist der Paket Bucket voll und die Tokenrate niedriger als die Eingangsrate werden weitere Pakete verworfen, bis wieder mindestens ein Paket aufgenommen werden kann.

29
Q

Was ist Traffic Shaping?

A

Die Grundlage von Traffic Shaping besteht darin, Pakete in unterschiedlichen logischen und physikalischen Warteschlangen abzulegen und entsprechend ihrer Priorität weiterzuleiten. Für jede Warteschlange kann eine Ausgangsrate definiert werden, welche gezielt die Datenrate für die jeweilige Warteschlange definiert. Dafür werden die Warteschlangen mit einem Scheduling-Algorithmus bedient, welcher entscheidet, in welcher Reihenfolge und welchem Umfang die Warteschlangen in jedem Schritt bedient werden. Die ausgewählten Pakete werden jeweils in die entsprechende Reihenfolge gebracht und weitergeleitet.

30
Q

First-in-First-Out (FIFO)

A

Ist der einfachste Algorithmus und leitet die Pakete ihrer Eingangsreihenfolge entsprechend weiter. Wird in Systemen mit einer einzigen Warteschlange eingesetzt, da keine Differenzierung von Datenflüssen ermöglicht werden kann.

31
Q

Priority Queuing (PQ) Algorithmus

A

Dieser Algorithmus bedient mehrere Warteschlangen mit unterschiedlicher Priorität. In jeder Runde wird die Warteschlange bedient, die die höchste Priorität hat und gleichzeitig mindestens ein Paket enthält. In der nächsten Runde des Algorithmus wird wieder die Warteschlange mit der höchsten Priorität bedient.
Vorteil ist, dass Warteschlangen mit höchster Priorität möglichst schnell bedient werden.
Jedoch werden Warteschlangen mit niedriger Priorität nicht mehr bedient, solange Warteschlangen mit hoher Priorität nicht leer sind.

32
Q

Round Robin (RR) Algorithmus

A

Dieser Algorithmus bedient mehrere Warteschlangen mit gleicher Priorität. In jeder Runde des Algorithmus werden alle Warteschlangen nacheinander bedient. Die Warteschlangen werden jeweils für eine definierte Zeit bedient, während der entsprechend Daten entnommen und zwischengepuffert werden. Wenn am Ende dieser Zeit ein vollständiges Paket im Zwischenpuffer liegt, wird dieses weitergeleitet. Ansonsten werden in der nächsten Runde weitere Daten des Pakets entnommen, bis es vollständig ist.
Vorteil ist, dass alle Warteschlangen fair bedient werden, da jedoch alle Warteschlangen gleichlange bedient werden ist keine Differenzierung von Datenflüssen möglich.

33
Q

Weighted Round Robin (WRR) Algorithmus

A

Dieser Algorithmus bedient mehrere Warteschlangen mit unterschiedlicher Priorität. In jeder Runde werden alle Warteschlangen, welche mindestens ein Paket enthalten, nacheinander bedient. Es wird dann aus einer Warteschlange eine definierte Anzahl vollständiger Pakete entnommen, welche weitergeleitet werden, bevor die nächste Warteschlange nach demselben Prinzip bedient wird.
Die Anzahl Pakete wird bestimmt, in dem die Priorität der Warteschlange ins Verhältnis zur durchschnittlichen Paketgrösse in der Warteschlange gesetzt wird.
Vorteil ist, dass Warteschlangen entsprechend einer Priorität bedient werden. Es kommt jedoch zu keiner zuverlässigen Paketabgangsrate, da die Priorität ins Verhältnis zur durchschnittlichen Paketgrösse gesetzt wird. Bei vielen grossen Paketen kann es so zu einer Reduzierung der Abgangsrate kommen, obwohl der Warteschlange eine hohe Priorität zugewiesen wurde.

34
Q

Deficit Weighted Round Robin (DWRR) Algorithmus

A

Dieser Algorithmus bedient mehrere Warteschlangen mit unterschiedlicher Priorität .Für jede Warteschlange wird ein Byte Guthaben, sogenannter Deficit Counter, verwaltet. In jeder Runde werden alle Warteschlangen, welche mindestens ein Paket enthalten, nacheinander bedient. Zunächst wird für jede Warteschlange der Deficit Counter entrsprechend ihrer Priorität erhöht. Danach werden alle Warteschlangen nacheinander bedient, bei denen der Deficit Counter mindestens so gross ist wie das nächste Paket. In diesem Fall wird das Paket entnommen, weitergeleitet und der Deficit Counter um die Grösse des Pakets reduziert, bevor die nächste Warteschlange bedient wird.
DWRR bietet bezüglich der Priorität eine sehr hohe Genauigkeit und geringer Overhead. Ein Problem ist jedoch, wenn der Deficit Counter erst nach mehreren Runden ausreichend gefüllt ist, wodurch ein Paket solange in der Warteschlange bleibt und es möglich wird, dass es nicht mehr rechtzeitig beim Empfänger eintrifft.

35
Q

Weighted Fair Queuing (WFQ) Algorithmus

A

Dieser Algorithmus arbeitet nach dem Round Robin (RR) Prinzip, kann jedoch mehrere Warteschlangen mit unterschiedlicher Priorität bedienen. Die Priorität einer Warteschlange entspricht der Summe der Prioritäten aller Datenflüssen in der jeweiligen Warteschlangen. Da in einer Warteschlange jeweils Datenflüsse mit gleichen Anforderungen und Prioritäten verwaltet werden, ergeben sich keine Probleme bezüglich der Fairness.
Die Prioritäten sollten periodisch neu berechnet werden, da zwar neue Datenflüsse erkannt werden, nicht aber das Ende eines Datenflusses.
Die Warteschlangen werden in jeder Runde entsprechend des Round Robin Algorithmus nacheinander bedient. WFQ bestimmt lediglich die Bediendauer der einzelnen Warteschlangen.
Im Gegensatz zu anderen Algorithmen bietet WFQ einen relativ geringen und nur einmaligen Berechnungsaufwand bei der Aufteilung der Ressourcen. Er wird daher, neben Weighted Round Robin (WRR), in kommerziellen Systemen, bevorzugt.

36
Q

Integrated Services (IntServ) Architektur (prinzip, voraussetzung)

A

Ermöglicht unter anderem eine verbindliche Einhaltung der Qualitätsanforderungen für die Datenübertragung einer Anwendung zwischen zwei Hosts. Dazu müssen jedoch die notwendigen Ressourcen auf dem vollständigen Pfad im Voraus reserviert werden. Erst nach Abschluss dieser Reservierung kann die Übertragung der Daten erfolgen. Eine Voraussetzung für IntServ ist daher, dass alle Koppelelemente die IntServ Architektur und das gewählte Reservierungsprotokoll unterstützen müssen.

37
Q

In welche Drei Phasen kann die Arbeitsweise von IntServ unterteilt werden?

A
  1. Initialisierungsphase: Verbindungsaufbau
  2. Operationsphase: Datenübertragung
  3. Terminierungsphase: Verbindungsabbau
38
Q

IntServ: Initialisierungsphase

A

In der Initialisierungsphase werden, anhand den Anforderungen einer Anwendung die notwendigen Ressourcen für die spätere Datenübertragung reserviert. Reservationsprotokoll baut einen reservierten Pfad zwischen Sender und Empfänger auf. Gleichzeitig kann es auf Verbindungausfälle reagieren und alternative Pfade dynamisch aufbauen.
* Zunächst wird vom Sender eine Anfrage an den Empfänger gesendet, welche den vollständigen Pfad und somit alle Router auf dem Pfad passiert.
* Der Empfänger wird so über den vollständigen Pfad informiert und kann die Reservation der Ressourcen bei allen Routern auf dem Pfad vornehmen.
* Die Router auf dem Pfad entscheiden dann, ob sie zusätzlich zu den vorhandenen Datenflüssen, die Performanceanforderung das angefragten Datenflusses gewährleisten können. Das negative Feedback eines einzigen Routers reicht dabei um den Verbindungsaufbau zu verhindern.
* Nach der Reservierung des vollständigen Pfades, kann die Datenübertragung beginnen.

39
Q

IntServ: Operationsphase

A

Während der Operationsphase muss jeder Router auf dem Pfad garantieren, dass jeder Datenfluss die ihm zugeteilten Ressourcen erhält und die Performanceanforderungen eingehalten werden. Die Pakete werden dazu in Warteschlangen gepuffert und dann durch einen Scheduler weitergeitet.
Jeder Router muss die Ressourcen eigenständig den Datenflüssen, entsprechend ihrer Reservierung zuweisen. Datenflüsse, die mehr Ressourcen in Anspruch nehmen würden, als reserviert wurden, werden durch Policing reguliert.
Der Sender schickt periodisch Keep-Alive-Nachrichten an den Empfänger um die Verfügbarkeit eines Pfades zu testen. Diese Nachrichten entsprechen Reservierungsnachrichten und informieren den Empfänger so jedes Mal über den aktuellen Pfad. Weicht dieser vom aktuellen Pfad ab, kann der Empfänger die erforderlichen Ressourcen auf dem neuen Pfad reservieren.

40
Q

IntServ: Terminierungsphase

A

In der Terminierungsphase wird die Verbindung durch das Senden eine Release-Nachricht abgebaut. Der Empfänger schickt dann eine entsprechende Nachricht an den Sender zurück, welche alle Router auf dem reservierten Pfad passiert. Nach Erhalt der Nachricht löschen die Router die entsprechende Reservierung.

41
Q

Verkehrsklassen bei IntServ im Gegensatz zu DiffServ

A

Bei IntServ müssen, im Gegensatz zu DiffServ, deutlich weniger Verkehrsklassen zur Unterscheidung eingesetzt werden. Da bei IntServ für jede Reservierung konkrete Performance-Anforderungen vorhanden sind. Mit diesen lassen sich die Datenflüsse weiter differenzieren.

42
Q

Drei Serviceklassen bei IntServ

A

Bei IntServ gibt es drei Serviceklassen, die unterschiedliche Arten von Anforderungen abdecken sollen:
* Controlled Load Service Class: Hier werden Anwendungen angeordnet, die Schwankungen in der Verzögerung tolerieren können. Dies sind Anwendungen ohne Echtzeitanforderungen. Damit die Anwendung akzeptabel betrieben werden kann wird jedoch eine Anforderung als untere Schranke spezifiziert.
* Guaranteed Service Class: Hier werden Anwendungen angeordnet, die keinen bzw. nur minimalen Verzögerungsjitter erlauben. Dies sind Anwendungen mit harten Echtzeitanforderungen, können aber auch Sprach- oder Videoübertragungen sein.
* In die dritte Klasse fallen alle Anwendungen ohne besondere Anforderungen.

43
Q

Wo liegen die Probleme von IntServ?

A

Drei Eigenschaften, die unabdingbar sind zur Erreichung der Zielsetzung und IntServ hinsichtlich der Leistungsfähigkeit überlegen machen, machen IntServ zu einer schlecht skalierbaren Lösung:
* Komponenten: Damit IntServ die Performanceanforderungen einhalten kann, ist es zwingend nötig, dass alle Koppelelemente zwischen Sender und Empfänger IntServ-fähig sind. Ansonsten ist keine durchgängige QoS Garantie möglich.
* Performance: Mit IntServ wird für jeden Datenfluss mit Performanceanforderungen eine Reservierung vorgenommen, womit der Zustand der Verbindung auf jedem Koppelelement verwaltet wird. Dies bedeutet, bei einem grossen Netzwerk, einen erheblichen Verwaltungsaufwand.
* Kosten: Die beiden zuvor genannten Eigenschaften machen IntServ zusätzlich zu einer sehr kostenintensiven QoS Architektur.

44
Q

Differentiated Services (DiffServ) Architektur

A

Da keine Reservierung von Ressourcen auf dem vollständigen Pfad erfolgt, kann die Dienstgüte der einzelnen Datenflüssen nicht garantiert werden. Stattdessen wird in DiffServ das Weiterleitungsverfahren der Router pro Verkehrsklasse festgelegt. Dazu wird eine Markierung der Pakte verwendet, welche Auskunft über das Weiterleitungsverhalten (Per-Hop-Behavior) gibt. Es können bis zu 64 Verkehrsklassen unterschieden werden.
Vorteil von DiffServ gegenüber IntServ ist die bessere Skalierbarkeit, da das Verhalten pro Verkehrsklasse und nicht pro Datenfluss definiert ist.
Dafür kann keine Garantie der Dienstgüte gegeben werden, sondern lediglich eine abgeschwächte Gewährleistung.

45
Q

Grundlegende Arbeitsweise von DiffServ

A

Pakete werden beim Eintritt in ein Netzwerk einmalig klassifiziert und erhalten dabei eine Markierung. Auf allen nachfolgenden Koppelelementen können sie anhand dieser Markierung identifiziert werden. Auf Koppelelementen wird diese Markierung verwendet, um entsprechend der zugehörigen Verkehrsklasse, die einzelnen Pakete zu priorisieren.

46
Q

Wie erfolgt die richtige Klassifizierung von Datenflüssen und deren Paketen mit DiffServ?

A

Die richtige Klassifizierung von Datenflüssen und deren Paketen erfolgt in der Regel an einem Edge-Router und ist notwendig um eine anwendungsspezifische und den QoS-Anforderungen entsprechende Behandlung durchführen zu können.
Die Erkennung der Verkehrsklassen kann auf verschiedenen Ebenen ablaufen:
* Vermittlungsschicht: anhand der Ziel-IP-Adresse
* Transportschicht: anhand des TCP/UDP-Zielports
* Anwendungsschicht: anhand des Anwendungsprotokolls oder anhand von Anwendungssignaturen

47
Q

DiffServ: Was geschieht bei einer falschen Klassifizierung, wie kann das verhindert werden?

A

Bei einer falschen Klassifizierung von Anwendungen und Diensten ist die QoS-Architektur nutzlos und führt in der Regel zu nicht erwünschtem Verhalten des Computernetzes.
Eine interessante Lösung bietet das Verlagern der Klassifizierung zu den Hosts. Hier kann ein Datenfluss direkt einem Prozess im Betriebssystem und somit einer Anwendung oder einem Dienst zugeordnet und dementsprechend markiert werden. Durch diese frühe Markierung kann jedes einzelne Paket am Edge-Router korrekt identifiziert und der entsprechenden Verkehrsklasse zugeordnet werden.

48
Q

DiffServ: Wo wird die Markierung gesetzt(IP-Header)?

A

Bei Einsatz des Internet Protokolls, wird im IP-Header, im “Type-of-Service-Feld” eine Markierung gesetzt. Die obersten 6 Bit werden dabei zur Markierung der Pakete verwendet. Durch die verschiedenen Bitmuster können 64 verschiedene Verkehrsklassen realisiert werden.

49
Q

DiffServ: Per-Hop Behavior (klassen)

A

Es gibt unterschiedliche, für DiffServ spezifizierte Per-Hop Behavior, die eine granulare Differenzierung von Datenflüssen erlauben.
z.B. gibt es folgende Klassen:
* Class Selector (CSx)
* Best-Effort (BE)
* Expedited Forwarding (EF)
* Assured Forwarding (AF)

50
Q

DiffServ: Class Selector (CSx)

A

Die Klasse Class Selector (CSx) erlaubt eine Gliederung in acht Teilklassen. Class Selector ist kompatibel zu dem, vor Einführung von DiffServ verwendeten IP Precedence (IPP), wodurch auch ältere Koppelelemente zumindest eine grobe Zuordnung der Verkehrsklassen vornehmen können.

51
Q

DiffServ: Best-Effort (BE)

A

Die Klasse Best-Effort entspricht der Standardverkehrsklasse, bei der keine besondere Behandlung des Verkehrs erfolgt. Sie bildet die niedrigste Klasse ohne jegliche Anforderungen und Garantien.

52
Q

DiffServ: Expedited Forwarding (EF)

A

Datenflüsse mit der Klasse Expedited Forwarding haben eine Anforderung an eine minimale Datenrate. Paketverlustrate, Verzögerung und Verzögerungsjitter bleiben aber vernachlässigbar klein. Ist für Anwendungen und Dienste geeignet, welche eine minimale Datenrate benötigen, gleichzeitig aber eine gewisse Verlusttoleranz aufweisen (z.B: Voice-over-IP)

53
Q

DiffServ: Assured Forwarding (AF)

A

Bei der Klasse Assured Forwarding existieren vier unterschiedliche Klassen, welche jeweils in Subklassen aufgeteilt werden. Diese unterscheiden sich im Verwerfverhalten von Pakten in Überlastsituationen.

54
Q

DiffServ: Wie werden den Datenflüssen Klassen zugewiesen?

A

Die Zuweiseung der Klassen sollte in Abhängigkeit von der Anzahl der Anwendungen und Diensten sowie deren unterschiedlichen Anforderungen erfolgen. Eine detaillierte Klassifizierung mit AF Klassen muss nicht unbedingt sinnvoll sein. Oft reicht auch eine einfache Zuordnung zu CS Klassen aus.
Die Markierung der Datenflüsse erfolgt in der Regel auf Edge-Routern, weniger oft auf den Endpunkten. Core-Router markieren Pakete nicht, sondern leiten diese lediglich weiter.

55
Q

DiffServ: Wie werden die Markierungen genutzt?

A

Der Umgang mit erst klassifizierten und dann markierten Paketen bestimmt wie die Anforderungen eingehalten werden. Ob in Überlastsituationen oder zu Einhaltung von Service Level Agreements, es stehen jeweils zwei Methoden zur Verfügung:
* Shaping: gezielte Verzögerung von Paketen eines Datenflusses
* Policing: gezieltes Verwerfen von Paketen eines Datenflusses

56
Q

DiffServ: Welche zwei Methoden zur Umsetzung des Congestion Managements gibt es?

A

Shaping und Policing können angewandt werden, um einerseits Überlastsituationen zu vermeiden und andererseits auftretende Überlastsituationen zu regulieren und zu beseitigen.
* Shaping: gezielte Verzögerung von Paketen eines Datenflusses
* Policing: gezieltes Verwerfen von Paketen eines Datenflusses

57
Q

DiffServ: Was versteht man unter Shaping?

A

Beim Shaping werden die eingehenden Pakete zunächst in verkehrsklassenabhängige Warteschlange eingeordnet. Die Warteschlangen werden dann in einem Schedulingprozess, gemäss eines Scheduling-Algorithmus, abgearbeitet. Pakete werden dadurch entnommen und verschickt. Pakete eines Datenflusses A lassen sich so zum Vorteil eines Datenfluss B gezielt verzögern. Wenn keine Warteschlangen existieren oder diese bereits voll sind, werden neu ankommende Pakete direkt verworfen. Die Auslastung des Mediums wird hier nicht aktiv überwacht. Die TCP-Überlastkontrolle versuch Überlastsituationen, durch eine aktive Paketverlustrate, zu erkennen und umgehend darauf zu reagieren.

58
Q

DiffServ: Was versteht man unter Policing?

A

Beim Policing wird der Durchfluss eines Datenflusses gemessen und Pakete gezielt verworfen. Dadurch wird die vorgegebene Leistungsobergrenze beschränkt.

59
Q

Wann sollten die Mechanismen des Congestion Managements eingesetzt werden?

A

Die Verwendung dieser Mechanismen ist nicht nur in Überlastsituationen sinnvoll. Datenflüssen sollten bereits reguliert werden, wenn ein Computernetz noch nicht ausgelastet ist.
Nutzt etwa eine Anwendung mit Bulk-Datenübertagung die gesamte Datenrate, verdrängt diese anderen Verkehr sodass Datenflüsse mit verschiedenen Anforderungen konkurrieren, was zu einer Überlastung führt.

60
Q

DiffServ: Proprietäre Systeme

A

Viele Hersteller von IT-Equipment bieten neben den standardisierten Ansetzen eigene, proprietäre Systeme zur Einhaltung von QoS-Anforderungen an.
Die Qualität eines solchen Systems häng stark von der Klassifizierung der Datenflüsse ab. Daher ist jeweils zu prüfen, ob ein System mit dem Verkehr im Computernetz problemlos betrieben werden kann oder ob zusätzliche Konfigurationen notwendig sind.