Sie sind auf Seite 1von 59

Thomas Gebetsberger

NTM 2018/19

Network Technologies for


Multimedia Applications
ursprüngliche Zusammenfassung von Christoph Mure

Kapitel 1 (Grundlagen)

Medien = Kommunikationsmittel der Menschen

Multimedia = Verwendung von mehr als einem Medientyp (Text,Bild,Audio,Film)

Die Dimension der Zeit, liefert ein wichtiges Unterscheidungsmerkmal für Medien.

Kontinuierliche Medien sind etwa Video, Audio, 2D/3D Animationen oder Daten Signale
von Sensoren. Die Richtigkeit der hier Übertragenen Daten hängt sehr wohl auch von der
Zeit ab. Die Information steckt nicht nur im übertragenen Wert sondern auch im Zeitpunkt
des Auftretens. So kann beispielsweise ein zu spät übertragener Abtastwert eines
Audiosignals als ungültig und somit falsch bewertet werden, wenn das zugehörige Signal
bereits über den Lautsprecher ausgegeben worden ist.Die dargestellten Symbole müssen
permanent zur Verfügung gestellt und abrufbar sein, wie z.B. die einzelnen Bilder eines
Videos, oder die Sequenzen einer Audiodatei.

Diskrete Medien sind zeitunabhängig, dass heißt sie müssen nur einmal übertragen
werden, wie z.B. statische Bilder, oder ein Text. Hier stellt sich die Frage der User
Impatience, also wie lange der Benutzer bereit ist, auf die statische Datei zu warten.

1 von 59
Thomas Gebetsberger
NTM 2018/19

Erläutern Sie, welche Netzwerkelemente in einer Medienübertragung typischerweise


enthalten sind und welche Funktionen diese Elemente zur Verfügung stellen.
Jede Netzwerkkarte braucht eine eindeutige Adresse im Internet (IP). Jede Applikation auf
diesem Computer braucht eine eindeutige ID (Port). Daten werden an (IP, Port) verschickt.

Application Layer: Unterstützung von Netzwerkanwendungen

HTTP, FTP, IMAP, SMTP

Transport Layer: Process to process communication

TCP, UDP

Network Layer: Host to host communication

IP, Routing-Protokolle

Link Layer: Datentransfer zwischen benachbarten Netzwerkgeräten

Ethernet, WLAN

Physical Layer: Übertragung der Bits auf der Leitung

Beteiligte:
● Content Creator (YouTubeUser),

● Content Provider (YouTube) bzw. Broadcaster (Rundfunkanstalt),

● Telekommunikationsfirma (Telco; KupfernetzBesitzer; Analog, ISDN),

● Internet Service Provider (ISP): Telcos am stärksten;

Digital Video Broadcasting (DVB):


● DVBS, DVBS2: Über Satellit;

● DVBT, DVBT2: terrestrisch über Bodenantennen;

● DVBC: Über KabelInfrastruktur;

2 von 59
Thomas Gebetsberger
NTM 2018/19

Live Streaming / VoD (IP UNICAST)


N = Anzahl Zuseher

S = StreamBandbreite Mbit/s

Server Bandbreite B = S x N Mbit/s

VoD über CDN


● Content wird auf CDN Server gespeichert

● reduziert Datenverkehr

3 von 59
Thomas Gebetsberger
NTM 2018/19

Standardisierungsorganisationen:

● ISO: International Organization for Standardization

● IEC: International Electrotechnical Commission

● ETSI: European Telecommunications Standards Institute

● ECMA: (CDROM,..)

● MPEG: Moving Picture Experts Group

● ITU: International Telecommunications Union

● 3GPP: Third Generation Partnership Projekt: GSM,UMTS,LTE,..

● IETF: Internet Engineering Task Force: Internetstandard,jeder kann mitmachen

● W3C World Wide Web Consortium: WebStandards

Funktionsweise des VoIP:

Das Telefonieren mit der IPTelefonie kann sich für den Teilnehmer genauso darstellen
wie in der klassischen Telefonie. Wie bei der herkömmlichen Telefonie teilt sich das
Telefongespräch dabei in drei grundsätzliche Vorgänge auf, den Verbindungsaufbau,
die Gesprächsübertragung und den Verbindungsabbau. Im Unterschied zur
klassischen Telefonie werden bei VoIP aber keine dedizierten „Leitungen“
durchgeschaltet, sondern die Sprache wird digitalisiert und in kleinen DatenPaketen
über das Internetprotokoll transportiert.

4 von 59
Thomas Gebetsberger
NTM 2018/19

Kapitel 2 (Digitalisierung, Kompression)

Geräte-Kategorien

Input

Verarbeitung

Speicherung

Transport

Output (Set-top Boxen, Streaming Media Player, Konsolen)

Bildaufbau:

Frame = Vollbild: Progessiv

Field = Halbbild: Interlaced (Nur jede 2te Zeile)

Bildwiederholrate: Frames per Second (fps), Hz

Deinterlacing:
Historische Abhilfe zum TV Flimmer war das Interlacing (entspricht
Zeilensprungverfahren), wo zwei Halbbilder abwechselnd zeilenbasiert dargestellt
werden und dadurch die Bildfrequenz verdoppeln!

➙ Weil analoge LCD, Plasma und Beamer nur Vollbilder anzeigen, müssen Analoge
Aufnahmen und einige TV Übertragungen, welche interlaced sind, umgewandelt
werden(von Halb auf Vollbilder)

Digitalisierung von Analogen Signalen

(A/D Wandlung + Kodierung)

Quantisierung

Analoges Signal wird abgetastet; Analoger Wert wird auf digitalen Wert gerundet;
Verlustbehaftet, sehr große Datenmenge; Reduktion der Datenmenge durch
effizentes Kodieren notwendig;

Quantisierungsfehler:

5 von 59
Thomas Gebetsberger
NTM 2018/19

Bei der Quantisierung entstehen sogenannte Quantisierungsfehler, welche


dem digitalisierten Signal hinzukommen. Das Endprodukt der A/D Wandlung
besteht also aus 2 Komponenten:

D(t) = S(t) + N(t)


D(t) … Quantisiertes Signal

S(t) … das eigentliche Signal

N(t) … Noise, Fehler, Störung, Rauschen

PSNR (Peak-signal-to-noise-ratio | Spitzen-Signal-Rausch-Verhältnis)

Gilt als Kenngröße bei komprimierter Übertragung

➙ Maximale Kraft des Bildes im Verhältnis zu den interferierenden Signalen

Signal to Noise Ratio

= Maß für die technische Qualität eines Nutzsignals (z. B. Sprache oder Video),
das von einem Rauschsignal überlagert ist. Es ist definiert als das Verhältnis der
mittleren Leistung des Nutzsignals zur mittleren Rauschleistung des Störsignals.

Da die Signalleistung bei vielen technischen Anwendungen um mehrere


Größenordnungen größer ist als die Rauschleistung, wird das SignalRausch-
Verhältnis oft im logarithmischen Maßstab dargestellt. Man benutzt dazu die
Pseudoeinheit Dezibel (dB):

Max Dezibell nach Bit-Kodierung


8 Bits .. 48 dB

16 Bits.. 96 db

6 von 59
Thomas Gebetsberger
NTM 2018/19

Abtasttheorem (Nyquist Shannon)

Das Abtasttheorem besagt, dass ein auf bandbegrenztes Signal mit einer Frequenz von
größer 2f + ɛ abgetastet werden muss, damit man es aus dem zeitdiskreten Signal
wieder exakt rekonstruieren kann. Die exakte Rekonstruktion ist dabei nur theoretisch
möglich, da hierzu eine unendliche Anzahl an Abtastpunkten nötig wäre. In der Praxis
beschränkt man sich deswegen darauf, das ursprüngliche Signal möglichst gut zu
interpolieren.

Wenn niedriger als 2f abgetastet wird, kann das Signal nicht originalgetreu bzw. richtig
reproduziert werden.

Beispiel: Menschliches Gehör kann bis ca. 20kHz reproduzieren → Musik mit
40kHz sampeln. CD ist z.B. mit 44,1Hz gesampelt.

Kodierung, Komprimierung

Werte werden als Zahlen abgespeichert; Redundanzen werden entfernt;

Verlustfrei (lossless)
wenn aus den komprimierten Daten wieder alle Originaldaten gewonnen werden
können. Das ist beispielsweise bei der Kompression ausführbarer Programmdateien
(Text) notwendig.

● Lauflängen Kodierung
Identische Textbestandteile werden zusammengefasst.

Symbolfolge: A,A,A,B,C,D,E,E,E,E,A

Kodiert: 3A,B,C,D,4E,A

● Einfache binäre Kodierung


Abbildung von Buchstaben auf 2 Bits A=00, B=01, C=10, D=11

● Entropiekodierung (Huffmann)
Ordnet jedem einzelnen Zeichen eines Textes eine unterschiedlich lange Folge
von Bits zu (abhängig von Auftrittswahrscheinlichkeit). 

Nachteil: Je mehr unterschiedliche Zeichen umso mehr Bits werden benötigt.

7 von 59
Thomas Gebetsberger
NTM 2018/19

Huffman Kodierung
Entropie ist ein Maß für den Durchschnittlichen Informationsgehalt pro Zeichen:

Die Mindestanzahl an Bits zu berechnen, die nötig sind, um eine Nachricht aus N
Zeichen darzustellen, verwenden wir das 

Produkt des durchschnittlichen Informationsgehalt pro Zeichen H(X)*N

Um die mittlere Wortlänge zu berechnen, kann die gewichtete Summe der


Codewortlänge (Bitlänge pro Datensatz) verwendet werden:

Der durchschnittliche Informationsgehalt pro Zeichen

1. Zuerst wird Häufigkeit jedes Zeichen gezählt und dies in eine Häufigkeitstabelle
geschrieben.

2. Nun wird jedes Zeichen zusammen mit seiner Häufigkeit als ein trivialer Baum,
bestehend nur aus der Wurzel, aufgefasst und in einer Liste zusammengefasst.

3. Nun zwei Bäume werden mit den kleinsten Häufigkeiten aus der Liste zu einem
neuen Baum zusammengefasst, bei dem die Wurzel mit der Summe der
Häufigkeiten markiert wird. Dies wird nun solange wiederholt, bis alle Zeichen in
einem einzigen Baum sind.

4. Den jetzt entstandenen Baum nennt man den Huffman Baum. Jede Verzweigung
nach links wird mit einer "0", jede Verzweigung nach rechts mit einer "1" markiert
(oder umgekehrt). Im Schluss kann man aus dem CodeBaum den Code jedes
Zeichens ablesen und eine Codetabelle mit dem Huffman Code erstellen.

8 von 59
Thomas Gebetsberger
NTM 2018/19

Differenzelles Kodieren
○ Der nächste Wert wird aus den vergangenen Werten

mittels Extrapolation(Modell) geschätzt

○ Kodiert wird nur die Differenz zur Vorhersage

1. Je besser die Vorhersage (das Modell), umso weniger beobachtete


Werte hat man

2. Wichtig: Modelltyp muss zu den Daten passen!

Beobachtete Werte: X(t), X(t+dt)

R(t+dt)…Residuum, Fehler

R(t+dt) = X(t+dt) - X(t)

9 von 59
Thomas Gebetsberger
NTM 2018/19

Verlustbehaftet (lossy)

die Originaldaten können nicht mehr aus den komprimierten Daten zurückgewonnen
werden, das heißt ein Teil der Information ging verloren.

Solche Verfahren werden häufig zur Bild oder Video- und Audiokompression
eingesetzt.

Fehler soll kaum wahrgenommen werden - auf Physiologie der menschlichen


Wahrnehmung wird dabei Acht gegeben.

Audiokompression

• FLAC: Bitrate Verlustfrei; reduziert um bis zu 50% u.a. durch Lineares-Zeitreihen-


Modell und Huffmann

• ITUT G.711 Verlustbehaftet, (alternativ: ITUT G.729)

• MP3: Abtastrate: 8-48 kHz, Bitraten: 8-320 Kbit/s, Hohe Effizienz, aber hohe
Kodierungslatenz (~200 ms)

• AAC: Abtastrate 8–96 kHz, Beliebige Bitraten, Vergleichbare Audioqualität zu MP3


bei gleichen Bitraten

• OPUS

10 von 59
Thomas Gebetsberger
NTM 2018/19

Bildkompression

• GIF: Nur 8bit Farbpalette aus 24bit Farbraum nutzbar, LZWKompression (Lempel-
ZivWelch)

• PNG: Bessere Kompression (DEFLATE) und Farbraum (32bit)

• JPEG: Kompressionsrate bis zu 1:100

JPEG Komprimierung

Bei der JPEG Komprimierung wird die Physiologie des Menschen insofern ausgenützt,
dass hohe Frequenzen (beim Quantisieren) und Farbdetails (beim Subsampling)
weggelassen werden ➙ hohe Frequenzen werden weniger wahrgenommen, als
beispielsweise die Frequenzen bei Kontrastübergängen

• Konvertierung des Bildes in ein geeignetes Farbmodell (RGB>YCbCr)

• Subsampling (Reduzierung der Farbkomponenten Cb & Cr

• 8x8 Blöcke; DCT – Diskrete Cosinus Transformation

• Quantisierung (verlustbehaftet)

• Umsortierung, Differenz DC zum linken Nachbarn

• Kodierung der Koeffizienten (Lauflängenkodierung, Huffmann,…)

Konvertierung in YCbCr:

Y = Helligkeit (Luminanz): gewichtete Summe von Rot, Grün, Blau (viel wichtiger als
Chrom.) 

Cb = Blau-Gelb Helligkeit / Chrominanz

Cr = Rot-Grün Helligkeit / Chrominanz

Subsampling / Tiefpassfilter : wird vorgenommen um die Farbwerte U, V oder Cb,


Cr mit geringerer Auflösung zu speichern als die Helligkeit Y. 

Da das Auge empfindlicher für Helligkeit als für Farbe reagiert, kann hier
Speicherkapazität gespart werden.

11 von 59
Thomas Gebetsberger
NTM 2018/19

DCT
Y,Cb,Cr in 8x8 Blöcke unterteilt

Die diskrete Kosinustransformation oder DCT interpretiert die Helligkeits- bzw.


Farbwerte als Überlagerung von Kosinusfunktionen, die deren Schwankungen
angeben, d.h. wie stark sich die Werte von Ort zu Ort ändern, und transformiert die
Werte in Amplituden für Kosinusfunktionen verschiedener Frequenzen. Hierbei ähneln
sich die Amplituden für hohe Frequenzen, wodurch man einen Vorteil für die
anschließende Kodierung erhält. Hierdurch wird eine 8x8 Ortsmatrix, in eine 8x8
Frequenzmatrix umgewandelt. Der Informationsgehalt bleibt der gleiche (die
Informationen werden nur in anderer Form dargestellt), also noch keine Komprimierung
per se.

In der umgewandelten 8x8 Matrix findet man nun links oben den DC (Direct
Current) Wert welcher der Durchschnitt der 64 Werte mal 8 ist. ➙ der DC hat einen
höheren „Bildanteil“, wird also höher gewichtet

Die restlichen Werte, genannt AC (Alternating Current) speichern die


Veränderungen zum DC. Sie speichern die höherfrequenten Bilddetails.

Kompression entsteht später durch Weglassen/Vergröbern von (hohen) AC

Frequenzen vs. Bildschärfe: Mehr Frequenzanteile bedeutet mehr Bilddetails

Quantisierung (verlustbehaftet)
In den meisten Bildern sind viele Koeffizienten nahezu 0. Setzt man diese
Koeffizienten zu 0, dann ist dies nach der Dekompression kaum bemerkbar!
Weiterhin sind einige Koeffizienten wichtiger als andere! So ist z.B. die
Grundhelligkeit und der Helligkeitsverlauf am wichtigsten (niedrige Frequenzen);
weniger wichtig ist die Textur des Bildes (mittlere Frequenzen). Sehr feine
hochfrequente Details sind nahezu nicht differenzierbar.

Mithilfe der Quantization Tables, der variieren kann, werden die Wert der DCT durch
den jeweiligen Quantisierungsfaktor dividiert und dann gerundet. Dadurch bleiben
vor allem Zahlen rund um den DC erhalten bzw. signifikant größer 0.

Die Quantisierungsmatrix ist sowohl für die Qualität, als auch für die
Kompressionsrate verantwortlich.

12 von 59
Thomas Gebetsberger
NTM 2018/19

Ergebnis: Viele der kleinen DCTKoeffizienten (diejenigen mit hohen Frequenzen)


werden so zu Null quantisiert.

Kodierung
Bei der Huffmann Kodierung werden anschließend häufig auftretende Werte ein
kurzer, seltenen Werten ein langer Code zugeteilt.

ZickZack Umsortieren:
Durch zusammenfassen im Zick Zack stehen möglichst viele, der beim Quantisieren
entstandenen, Nullen hintereinander ➙ Lauflängenkodierung

13 von 59
Thomas Gebetsberger
NTM 2018/19

Videokompression

Videos sind wie folgt aufgebaut:

- ein Video hat N Groups of Pictures (GOP)

- ein GOP hat N Frames

- ein Frame hat N Slices (Bildausschnitt)

- ein Slice hat N Makroblöcke

- ein Makroblock hat N Blöcke

Eine GOP besteht aus einem I-Frame, mehreren P-Frames und vielen B-Frames.

Der I-Frame (INTRA) ist der erste und wichtigste Frame einer GOP. Ist dieser
beschädigt, kann man die gesamte GOP nicht mehr abspielen. 

Ist ein P-Frame (PREDICTIVE) in der Mitte der GOP beschädigt, kann der Rest der
GOP nicht mehr abgespielt werden. 

Ist ein B-Frame (BIPREDICTIVE) beschädigt, kann nur dieses Bild nicht dargestellt
werden.

Da sich in einem Video von einem Bild zum nächsten nicht immer alles
bewegt und verändert, können bei der Kodierung und Komprimierung der
einzelnen Bilder viele Bits und Bytes generalisiert werden. 

Der I-Frame ist originalgetreu kodiert;

Die P-Frames erben von I- und vorherigen P-Frames;

Die B-Frames erben von I- und P-Frames.

14 von 59
Thomas Gebetsberger
NTM 2018/19

Videokodierung:
• Motion Compensation

• 2D Transformation (DCT o.ä.)

• Quantisierung

• Verlustfreie Kompression (Huffmann u.ä.)

Die Effizienz hängt von der zeitlichen Korrelation ab. 



Je weniger Korrelation desto schlechter die Komprimierung. Encoder setzen oft I--
Frames bei Szenenwechsel. (Parameter: Bildformat, Hz, Auflösung). Die Bitrate soll
dabei ein Mittelweg zwischen Video Parameter und Zielmedium sein.

MPEG-4 AVC Videokodierung


bietet höhere Effizienz als MPEG-2 oder MPEG-4 ASP bei gleicher Bitrate
Die MPEG-4 AVC Kodierung bietet sowohl variable Blockgrößen, als auch flexible GOP.

Anstatt des DCT verwendet die MPEG-4 AVC die Integer Transformation ➙nur
Ganzzahloperationen und weniger Block Noise.

Der Deblocking Filter verwischt außerdem vorhandene Blockkanten ineinander.

15 von 59
Thomas Gebetsberger
NTM 2018/19

Kapitel 3 - The Network


Which form of casting?

• Unicast:
• Ein Sender, ein Empfänger

• klassisch im Internet

+ keine Unnötigen Daten, direkte Übertragung

+ Empfindliche Nachrichten können angefordert werden

- wenn für mehrere, muss mehrmals versendet werden

- Sender muss die Adresse des Empfängers kennen

• Multicast:

• Ein Sender

• Eine Gruppe von Empfängern

• Man muss sich in der Gruppe anmelden und Mitglied werden

• Mittelweg der anderen zwei



+ Sender muss die Adresse des Empfängers nicht kennen

+ Zeitgleich können Nachrichten an mehrere Teilnehmer geschickt werden

+ Sender braucht dieselbe Datenübertragungsrate wie ein einzelner Empfänger

- Empfänger muss sich vorher beim Sender anmelden

• Broadcast:
• Ein Sender, alle mit technischer Empfangseinrichtung
können empfangen

+ Überträgt Nachrichten an alle Teilnehmer eines Netzes

+ Benötigt keine Anmeldung des Empfängers & keine
Empfängeradresse

- Nachricht gelangt an Teilnehmer, die diese nicht haben
wollten und dadurch entsteht unnötigerweise höhere
Netzwerklast

- unsicherer

16 von 59
Thomas Gebetsberger
NTM 2018/19

Layer Modells

Application Layer - Netzwerkanwendungen (HTTP, IMAP, POP3)

Presentation Layer (ISO)- Verschlüsselung, Kompression

Session Layer (ISO) - Verbindungsaufbau, Sync

Network Layer - Daten Transfer zwischen Prozessen auf Operatorebene (TCP, UDP)

Transport Layer - Forwarding der Datenpakete (IP, Routing)

Link Layer - Datentransfer zwischen benachbarten Netzwerkdevices (Ethernet, WLAN)

Physical Layer - Bits im Kabel

Beim Internet Layer Model werden die Funktionen der fünften und sechsten Schicht im
Application Layer eingefügt.

Traffic Flow
=Sequenz von Netzwerkpaketen/daten

Definiert durch Quell- und Ziel-IP, Quell und ZielPort und


Transportprotokoll

Stream: Besteht aus einem oder mehreren Flows

Network Delay
• Latency, One-Way Delay

• Round Trip Time

• Latency in packet switched networks (need of low latency depends on


the need of synchronicity)

Verzögerungsarten
• Verarbeitungsverzögerung: auf BitFehler prüfen, Wahl aus ausgehenden
Leitungen, z.B. MPEGEncoder

• Warteverzögerung: Wartezeit im Puffer, bis das Paket auf Ausgangsleitung gelegt


wird. Abhängig von Last auf Ausgangsleitung (hängt stark von aktueller
Netzwerkauslastung ab)

17 von 59
Thomas Gebetsberger
NTM 2018/19

• Übertragungsverzögerung: Zeit um Dateneinheit auf die Leitung zu bekommen


(Paketgröße L / Bandbreite R, relevant, wenn R klein ist)

• Ausbreitungsverzögerung: entsteht durch Signallaufzeit in Leitungen oder Luft.


(Strecke im Medium/Ausbreitungsgeschwindigkeit; einige Micro bis zu einige
Hundert Millisekunden)

Jitter = die Varianz der Laufzeit von Datenpaketen

Broadcast-Routing

Für Broadcast Übertragungen unterscheidet man typischerweise drei verschiedene


Ansätze.

Unkontrolliertes Fluten
Der Quellknoten sendet seinen Nachbarn eine Kopie des Pakets. Erhält ein Knoten ein
Broadcast Paket, kopiert er das Paket und leitet es an alle seine Nachbarn weiter (außer
an den von dem er es bekommen hat). Das führt dazu, dass alle Knoten am Ende das
Paket erhalten. Das ist ein einfaches Prinzip.

Probleme:
• Wenn der Graph Schleifen enthält, bewegt sich eine oder mehrere Kopien des
Datenpakets ewig im Kreis.

• Ist ein Knoten mit mehr als zwei anderen Knoten verbunden, erstellt er mehrere Kopien
des Broadcast-Pakets und leitet sie weiter. Jedes von diesen erzeugt (in anderen
Knoten mit mehr als zwei Nachbarn) weitere Kopien von sich usw. Dieser Broadcast-
Sturm, der aus der ständigen Vervielfältigung von Broadcast-Paketen entsteht, würde
schließlich zu so vielen Broadcast-Paketen führen, dass das Netz unbrauchbar wird.

18 von 59
Thomas Gebetsberger
NTM 2018/19

Kontrolliertes Fluten
Um den Broadcast-Sturm zu vermeiden, muss den Knoten gesagt werden wann sie
Pakete fluten und wann nicht. Beim sequence-number-controlled-flooding schreibt ein
Quellknoten seine Adresse sowie eine Broadcast-Sequenznummer in ein Broadcast-
Paket und sendet dieses allen seinen Nachbarn zu. Jeder Knoten verwaltet eine Liste der
Quelladressen und Sequenznummern jedes Broadcast-Pakets, die er schon erhalten,
kopiert und weitergeleitet hat. Wenn ein Knoten ein Broadcast-Paket erhält, überprüft er
zuerst, ob das Paket bereits in dieser Liste enthalten ist. Falls ja, wird das Paket
verworfen. Falls nicht, wird je eine Kopie des Pakets an alle Nachbarn des Knotens
weitergeleitet.

Reverse Path Forwarding


Ein zweiter Ansatz für kontrolliertes Fluten ist Reverse Path Forwarding. Erhält ein Router
ein Broadcast-Paket mit gegebener Quelladresse, so sendet er das Paket nur dann auf
alle von ihm ausgehenden Leitungen, wenn das Paket auf der Leitung ankam, die auf
seinem eigenen kürzesten Unicast-Pfad zurück zur Quelle liegt. (Sollte der Router ein
Packet an die erwähnte Quelladresse senden wollen, so muss diese dafür im
ausgehenden Routing Table dafür stehen.) 

Ansonsten löscht der Router das eingehende Paket einfach, ohne es auf irgendeiner
seiner ausgehenden Leitungen weiterzuleiten. Solch ein Paket kann verworfen werden,
weil der Router weiß, dass er seine weitere Kopie auf der Leitung, die auf seinem
kürzesten Pfad zum Sender liegt, entweder noch erhalten wird oder schon erhalten hat.

Obwohl das Problem von Broadcast-Stürmen damit gelöst wurde, werden immer noch
viele redundante Pakte zwischen Knoten verschickt.

19 von 59
Thomas Gebetsberger
NTM 2018/19

Broadcast mit Spannbäumen


Ein minimaler Spannbaum ist ein Graph der kein Kreis ist und dessen Wege die
niedrigsten Kosten enthalten. Das Schwerste ist Wartung und Erhaltung eines
Spannbaums.

Im zentrumbasierten Ansatz beim Aufbau eines Spannbaums ist ein zentraler Knoten
definiert (Rendezvous-point). Knoten senden dann sogenannte Tree-Join-Nachrichten
mittels Unicast zum zentralen Knoten. Eine Tree-Join-Nachricht wird mittels Unicast-
Routing so lange in Richtung des zentralen Knotens weitergeleitet, bis sie entweder einen
Knoten erreicht, der schon zum Spannbaum gehört, oder bis sie das Zentrum erreicht. In
jedem Fall definiert der Pfad, dem die Tree-Join-Nachricht gefolgt ist, den Ast des
Spannbaums zwischen dem Knoten, der die Tree-Join-Nachricht erzeugt hat, zum
Zentrum.

Bäume dienen dazu, um kürzeste Wege zwischen zwei Punkten zu finden, aber auch um
redundante Datenübertragungen zu verhindern.

Quellenspezifische Bäume - ein Baum pro Sender

Bäume mit kürzesten Pfaden Erzeugung und Wartung durchaus komplex

Reverse Path Forwarding Nur senderspezifisch ein Baum

Gemeinsam genutzte Bäume - alle Sender verwenden den gleichen Baum

Minimale Spannbäume Aufwendig und müssen jedes Mal neu berechnet


(zB Steiner-Baum) werden, wenn ein Knoten hinzukommt oder wegfällt

Zentrumbasierte Spannbäume Baum vom Zentrum stark abhängig

20 von 59
Thomas Gebetsberger
NTM 2018/19

Multicast-Routing

Internet Group Management Protocol (IGMP)


gibt an, ob lokaler Empfänger teil einer MultiCast-Gruppe ist

Distance Vector Multicast Routing Protocol (DVMRP)


Flooding: zuerst wird das Datagram per RPF geflutet, damit grundsätzlich jeder der MC-
Gruppe die Paket bekommt

Pruning: wenn ein Router die Daten nicht braucht (zB keine weiteren Empfänger) kann er
mit einer Prune Nachricht Richtung root des Baumes sich selbst abschneiden

(beim Soft State „vergisst“ der root immer wieder die Prune-Nachrichten)

Protocol Independent Multicast (PIM)


hängt von keinem spezifischen Routing Protokoll ab

zwei Varianten:

Dense (zB wenn alle Router nahe aneinander sind)


Annahme, dass alle Router die Nachricht wollen, wenn sie sich nicht explizit abschneiden
mit einer Prune-Nachricht

Mechanismus: RPF

Sparse
Für eine Nachricht muss sich der
Router explizit am Rendezvous-
Point eintragen

Mechanismus: durch Empfänger


ausgelöster zentrumsbasierter
Baum


21 von 59
Thomas Gebetsberger
NTM 2018/19

Kapitel 4 Protokolle und VoIP


MPLS

MPLS soll das Problem des Longest Prefix Matching lösen - hierbei wird IP erweitert,
indem Datagramme speziell gekennzeichnet werden

Router können das Paket aufgrund des Labels weiterleiten

Verbindungslos aber Vorteile von Verbindungsorientiert;

Beim Label Edge Router (LER) wird das MPLS Label angehängt (Ingress), dann
innerhalb des Netzwerks am Label Switched Path (LSP) weitergeleitet und das Label
wird am Egress, also auch einem LER, dann wieder entfernt.

Die Idee ist es, Datenpakete nicht mehr länger von einem Router zum nächsten Router
(Hop-by-Hop) weiterzuleiten, und in jedem Router aufs Neue die Entscheidung für den
günstigsten Weg zu treffen (kompletter IP-Lookup in der sogenannten Forwarding-
Table), sondern diese an einem Eingangspunkt (Ingress-Router) auf einem
vorsignalisierten Datenpfad zu senden und erst wieder am Ausgangspunkt (Egress-
Router) die herkömmliche Hop-by-HopWeiterleitung von IP zu nutzen.

Im OSI-Modell lässt sich MPLS zwischen den Layern 2 und 3 verorten und wird damit
auch als Layer 2.5-Protokoll beschrieben.

Vorteile:

traffic engineering möglich (Pakete sollen vordefinierten Pfad gehen können)

Dieses Vorgehen entlastet einen Großteil der Router erheblich: Auf allen MPLS-fähigen
Zwischenstationen (LSR) werden lediglich die den MPLS-Paketen vorgeschalteten
Labels ausgewertet.

Dies erfolgt bereits direkt oberhalb der Sicherungsschicht (Layer 2)

22 von 59
Thomas Gebetsberger
NTM 2018/19

RTP
= Spezialisiertes Streaming Protokoll (im Gegensatz zu HTTP)

Sammlung mehrerer zusammengehöriger Protokolle -Kontrolle am Server

● RTP (Realtime Transport Protocol):



Reines Übertragungsformat (Push); Für Video 2 RTPStreams nötig
(Audio+Video); Header: Sequenznummer, Zeitstempel, Typangabe

● RTSP (Realtime Streaming Protocol): 



Steuerungsprotokoll für mehrerer RTPStreams; Keine Übertragung, Kontrolle
(Puffern); TCP-Basiert, Verwendung bei Unicast;

● RTCP (Realtime Control Protocol): 



StatusInformationen über Empfänger und Empfangsqualität

-Informationen über Teilnehmer und deren Empfangsqualität

-Receiver Report Verlustrate, letzte Sequenznummer, Jitter

-Sender Report: SSRC, Zeitstempel, Zahl der gesendeten Pakete/
Bytes, genutzt zur Streamsynchronisation

-Source Description: Teilnehmerinformationen

● SDP (Session Description Protocol): 



Format zur Beschreibung der Medienübertragung

QUIC

QUIC von Google will eine verlässliche Übertragung über UDP bereitstellen, d.h. die
Vorteile von TCP und UDP vereinen. Es stellt ein Anwendungs-/Website-spezifisches
Protokoll dar und verwendet TCP + TLS + http2 over UDP.

23 von 59
Thomas Gebetsberger
NTM 2018/19

Dabei erspart man sich den Handshake bei bekannten Seiten, d.h. am Anfang muss
man mit 1 RTT rechnen, danach im Idealfall mit 0RTT! 

Wichtige Pakete mit Verlustgefahr werden gleich zweimal gesendet und die Sicherheit
passiert auf Anwendungsebene (Chrome) per Encryption

Warum im User-space?

• schneller programmiert, weil keine Kernel Programmierung nicht notwendig

• mehr Freiheiten, schnellere Versorgung

Multipath - mehrere Verbindungsmethoden (zB Wireless + Cellular)

Wie können die Endknoten TCP- und UDP-Verbindungen auseinander halten?

aus dem Header; durch 5 Tuple (Empfänger+Sender Port & IP; Protokoll)

bei Quic merkt sich die Parameter des Gegenüber

CHLO (Cliente Hello), SHLO (Server Hello), REJ (reject)

Erste Verbindung (1 RTT) Danach (0 RTT) 



bei Request direkte Übertragung /
Antwort

Vorteile:

24 von 59
Thomas Gebetsberger
NTM 2018/19

• verwendet TCP best practices

• hat mehr verschiedene ACKs

• mehr Flexibilität (zB besseres Congestion Feedback)

• Neu gesendete Pakete bekommen neue Sequenznummer ➙keine Ambiguität

NAT

soll Beschränkung des IPv4 Adressbereich entgegenwirken (mittlerweile IPv6) 



➙ soll keine Firewall sein!

Mit dem NAT kann ein Device im Privaten Netz eine Verbindung zum Internet herstellt,
d.h. private IP+privater Port werden auf die public IP und einen neuen Port gematcht.

(external heißt nicht gezwungenermaßen global!)

➙ Static oder Dynamic Adress Assignment möglich!

Inbound Paket Policies:


• Full Cone NAT: alle im assoziierten externen Port ankommenden Pakete werden
akzeptiert

• Restricted Cone NAT: nur Pakete derselben Remote-Adresse zugelassen

• Port Restricted Cone NAT: nur Pakete derselben Remote-&Port-Adresse zugelassen

• Symmetric NAT: jedes neue Remote/Port-Paar erzeugt einen neuen externen Port beim
NAT (nur zugelassen, was zuvor von innen nach außen gesendet wurde)

NAPT: fasst mehrere NATs erneut zu einer Adresse zusammen; übersetzt auch Transport
Identifier wie das Protokoll

Formen des NAT Traversal:

• Tunneling

• TCP Hole Punching

Application Layer Gateways sind Anwendungsspezifische translation agents und stellen


eine Sicherheitseinrichtung dar; ALG ermöglicht eine dynamische Portfreigabe und
erlaubt einem Host in einem bestimmt Addressbereich eine Verbindung mit seinem
Gegenstück in einem anderen Adressbereich

➙ einsehbar für Anwendung

25 von 59
Thomas Gebetsberger
NTM 2018/19

UPnP - Universal Plug and Play

• weit verbreitet (von Microsoft eingeführt)

• Katalog von Netzwerk Protokollen zur Service Erkennung und Einrichtung für
verschiedenste Zwecke

• Geräte, dass diese Services nutzt heißt „Controll Point“ / Kontrollpunkt (CP)

• dezentralisiert

UPnP - Phasen
0. Addressing - CP bekommt eine IP-Adresse mittels DHCP

1.Discovery - CP findet interessantes Gerät

2.Description - CP lernt über die Möglichkeiten des Geräts


3.Control - CP steuert/startet Aktionen an dem Gerät

4.Eventing - CP hört auf Statusänderungen des Geräts

5.Protocol - CP kommuniziert mit dem Gerät über


fgdfgggggggggKommandosequenzen und Events

VoIP - Voice over IP

● VoIPServer (z.B. SIP Proxy)

• CallRouting auf Application Layer

• Auf und Abbau von Gesprächen

• Erweiterte Dienste: Konferenzen, Presence, Um und Weiterleitungen

● MediaServer
• VoiceMediendaten, zB. VoiceNachrichten, Abwesenheitsansagen

● IP Hardphone, Softphone
• Physikalisches Telefon oder reine Softwareanwendung

• Oft SIP-basierend

● Gateway
• Verbindet VoIP-Telefonnetz mit herkömmlichem Telefonnetz (PSTN) oder
mit anderen geschlossenen VoIPWelten

• Kann in die eigene Netzwerkstruktur eingebunden oder über externe


Anbieter bezogen werden

26 von 59
Thomas Gebetsberger
NTM 2018/19

Session Initiation Protocol (SIP)


=Identifikation über IPNummer

Herstellen einer Verbindung


1. InviteNachricht von Alice
• IP-Adresse + Portnummer

• Codierung, die Alice empfangen


möchte

2. OKNachricht von Bob


• IP-Adresse + Portnummer

• Codierung, die er empfangen möchte

3. ACK von Alice

Danach:
• Session Description Protocol (SDP) zur Übermittlung der Stream Details (Codecs,
A/V Kanäle, Konfigurationen, …)

• Übertragung der eigentlichen Mediendaten mit z.B. RTP

Identifikation
Wegen wechselnder IPAdresse notwendig:

SIPRegistrar: Bei Client SIPStart, wird Nachricht an seinen Resitrar Server gesendet

ClientServer:

1. XMPP+Jinge: SSL, RDP

2. Mumble: Open Source

SIPProxy: Leitet die SIPNachricht weiter

27 von 59
Thomas Gebetsberger
NTM 2018/19

1. jim@umass.edu sendet InviteNachricht für


keith@upenn.edu an den umass SIP-Proxy

2. Proxy leitet dies an den upenn Registrar


weiter

3. upenn Registrar gibt eine RedirectAntwort,


die besagt, dass man das Ziel nun unter
keith@eurecom.fr erreichen kann

4. Proxy schickt ein INVITE an den eurecom


Registrar

5. Der eurcom Registrar leitet das Invite an


197.87.54.21 weiter

6-8.SIP-Antworten werden zum Anrufer


geschickt

9. Aufbau einer direkten Verbindung

SIP Call Flow mit SIP Proxy

28 von 59
Thomas Gebetsberger
NTM 2018/19

Kapitel 5 Streaming

Streaming vs Bulk

• Bulk Downloads: Ende-zu-Ende Übertragung mit der maximalen Bandbreite (Hohe


Elastizität, geringe QoS-Anforderung); diskret

• Streaming: Kontinuierliche Medien mit zeitlicher Abhängigkeit;

Streaming Klassifikation:

• Quelle des Inhalts (Datei | Live Feed | Kommunikation)

• Transportprotokoll (TCP | UDP)

• Ort der Kontrolle (Push | Pull)

• Anpassung an Veränderungen (Implizit | Explizit ➙Adaptiv? ),

• Multiplexfähigkeit (Anzahl der potentiell möglichen Empfänger)

• Art der Übertragung (Synchronizität)

29 von 59
Thomas Gebetsberger
NTM 2018/19

Synchronizität

• Asynchron: Bulk Download; Wiedergabe kann irgendwann erfolgen (großer Buffer


benötigt); VoD

• Synchron: Wiedergabe zeitversetzt, aber während Übertragung (Bandbreite >=


Bitrate, ansonsten Ruckler, Aussetzer) VoD, LiveStream

• Isochron: Interaktive Kommunikation, möglichst Parallel zur Übertragung; Live-


Stream, Kommunikation, Cloud Gaming ( < 400ms Verzögerung)

Jitter Puffer

Für Synchronisierung von Mediendateien (Audio+Bild)

Verzögerungszeit im DeJitter/Decoder Puffer

- Kurz: nur geringer Jitter kann ausgeglichen werden

- Lang: großer Jitter kann ausgeglichen werden

• Pufferverzögerung zu groß

– VoIP, Videokonferenz kaum möglich

• Pufferverzögerung zu klein

- Buffer underrun

- Netzwerk Jitter ist zu hoch, Pakete werden zu stark verzögert und kommen nicht
rechtzeitig an

- Erreichte Bandbreite kleiner als Videobitrate

- Paketverluste

• Buffer overflow

- Wenn für eine gegebene Situation zu wenig PufferSpeicher reserviert wurde

30 von 59
Thomas Gebetsberger
NTM 2018/19

Transportprotokolle Streaming

UDP
• Unzuverlässig: Fehlerbehandlung im Anwendungsprotokoll meist mittels RTP

• Verluste: Beeinflussen Bildqualität

• Oft von Firewalls geblockt

• Für komplexere Anwendungen

• Senderate wird durch Anwendung bestimmt

TCP/HTTP
• Verlustbehandlung: macht ggfalls Retransmissions

➙ beeinflusst den Durchsatz, Pufferfüllstand (höhere Latenzen)

• Kein Multicasting

• GET-Requests

Progressiv Streaming: Datei wird auf WebServer abgelegt und kann über Browser/
HTTP direkt abgespielt werden.

Adaptiv TCP/ HTTP Streaming:


Videos in unterschiedlichen Qualitätsstufen von Client abrufbar (Pull; Verschiedene
Standards wie DASH)

Diese werden in gleichlange Stücke segmentiert und der Client fordert je nach
Abspielstrategie und Netzwerkbedingungen die Segmente in der jeweilig korrekten
Qualitätsstufe an

Ermöglicht Streaming über eine große Bandbreite an Devices mit einer verschiedenen
Anforderungen und Bandbreiten

➙Live Streaming möglich

31 von 59
Thomas Gebetsberger
NTM 2018/19

Verschiedene Ansätze:
• zuerst die wichtigen Videoinformationen (zB I-Frames), danach Informationen mit
niedrigerer Wichtigkeit, wenn die Bandbreite und Zeit das zulässt

• Server sendet zuerst den hochaufgelösten Part des Frames und sofern Zeit und
Bandbreite dies zulassen auch den restlichen Frame Informationen

• das Video ist in verschiedenen Bitraten enkodiert und abhängig von der Device
Bitrate wird das Video entsprechend adjustiert

Der Client sendet eine Reihe von HTTP GET segment requests und adaptiert die
Qualitätsrate bevor er ein neues GET request sendet ➙der Client hat den besten Blick
auf seine Netzwerkbedingungen

DASH - Dynamic Adaptive Streaming over HTTP


Dash stellt Formate bereit, die effiziente und qualitativ hochwertige Bereitstellung von
Streaming Services ermöglichen; stellt dabei eine Komponente des Ende-zu-Ende
Services dar

Ermöglicht hohe User Experience und die Wiederverwertung von bereits erkannten
Technologien wie DRM oder Codecs

Bei den Mediensegmenten sind sowohl kurze (1-10sek), als auch sehr lange (10sek- 2
h) möglich.

Informationsklassifikation
Dash verwendet den Media Presentation Descriptor (MPD) und die Index Information
als Metadaten für den DASH Zugangsclient

MPD: beinhaltet redundante Informationen des Medienstreams, um sofort


Mediendateien/Gruppen auswählen oder ablehnen zu können.

32 von 59
Thomas Gebetsberger
NTM 2018/19

Kapitel 6 Network Error Handling

Netzwerkfehler
• Fehlererkennung (Error Detection)

• Reaktion (Adaption), Auswirkungen vermindern

• Fehlerkorrektur durch Redundanz


• Verstecken des Fehlers beim Empfänger (Concealment)

• Robuste Kodierung (Resilience)

LAYER 2 (Transport Layer)

(Fehlererkennung nie 100% zuverlässig)

Parity Bit (nur Fehlererkennung):


– Statt n Bits sende n+1 Bits

– Letztes Bit…Parity Bit (PB)

Da nicht bekannt ist, wo innerhalb des Codewortes der Fehler aufgetreten ist, ist
keine Fehlerkorrektur möglich. Außerdem ist bei einem Paritätsbit (N = 1) nur
eine ungerade Anzahl von Bitfehlern in einem Codewort feststellbar. Eine gerade
Anzahl von Bitfehlern wird nicht festgestellt, da hier im Codewort die Parität
unverändert bleibt.

Beim EvenParity Scheme werden die 1er so gewählt, dass die versendete Datei eine
gerade Anzahl an 1er hat, beim OddParity Scheme, dass diese ungerade sind.

EvenParity
(Gerade Anzahl)

• Das Informationswort 0011.1010 hat vier Einsen. Vier ist eine gerade Zahl, das
Paritätskontrollbit ist also die Null, und das resultierende Codewort ist 0011.1010 0.

• Das Informationswort 1010.0100 hat hingegen eine ungerade Paritätssumme und


wird in das Codewort 1010.0100 1 codiert.

33 von 59
Thomas Gebetsberger
NTM 2018/19

OddParity
(Ungerade Anzahl)

• Das Informationswort 0011.1010 hat vier Einsen. Vier ist eine gerade Zahl, das
Paritätskontrollbit ist also die Eins, und das resultierende Codewort ist 0011.10101.

• Das Informationswort 1010.0100 hat hingegen eine ungerade Paritätssumme und


wird in das Codewort 1010.0100 0 codiert.

Mehrdimensonale Parityverfahren:

Mit diesem Verfahren sind alle einzelnen Bitfehler pro Block eindeutig erkennbar und
korrigierbar. Treten mehrere Bitfehler in einem Block auf, ist die Fehlerkorrektur nicht
mehr in allen Fällen möglich. Allerdings sind fehlerhafte Blöcke unter Umständen noch
als fehlerhaft erkennbar, was bei diesen Verfahren beispielsweise alle zweifachen
Bitfehler pro Block umfasst.

Für jede Zeile und jede Spalte separate Paritätsprüfung machen:

34 von 59
Thomas Gebetsberger
NTM 2018/19

Cyclic Redundancy Check (CRC)


Kann alle Burst-Fehler erkennen, die kürzer als Generatorlänge+1 Bit sind

Theorie:
Bitzahl wird als Polynom betrachtet. Bei k Bits hat man also k Terme, von
x^(k1) bis x^0.

Beispielsweise 1 1 0 0 = 8 4 0 0; Damit ist es möglich arithmetische Operationen


durchzuführen, mittels Modulo 2, was bedeutet beispielsweise bitweises addieren
ohne Überträge (entspricht dem bitweisen XOR). Beispiel:

1100 1010 +
0100 1101 =
1000 0111

Für CRC müssen Sender und Empfänger eine Zahl G definieren, genannt Generator,
welche bestimmte Eigenschaften erfüllt. Dieses Generatorpolynom habe m Bits. Die
Idee der CRC Prüfsumme ist nun, einem gegebenen Rahmen von Datenbits durch m
Bits so zu ergänzen, dass das Polynom aus Datenbits und Prüfsumme durch das
Generatorpolynom teilbar ist.

Wir nehmen einen Datenframe 1101011011 und ein Generatorpolynom G(x) = x^4 + x
+ 1 (=10011). Nun müssen an das Frame so viele Nullen angehängt werden, wie der
Grad r von G(x) => 4.

Ziel:

• <M(x),G(x)> ist Modulo 2 durch G ohne Rest teilbar

• Empfänger kennt G und teilt das empfangene <M(x),G(x)> durch G. Wenn es einen
Rest gibt wurde ein Fehler erkannt.

• Bei CRC können alle BurstFehler erkannt werden, die kürzer als r+1 Bit sind

35 von 59
Thomas Gebetsberger
NTM 2018/19

M(x) Frame: 1101011011 (mbits)

G(x) Generator: 1 0 0 1 1 (Grad r (hier 4))

T(x) Frame 0Bits: 1 1 0 1 0 1 1 0 1 1 0 0 0 0 (m + r Bits)

Daraus ergibt sich der Frame mit Prüfsumme: 1 1 0 1 0 1 1 0 1 1 |1 1 1 0

Der Empfänger kann nun überprüfen, ob der Frame korrekt übertragen wurde, indem
er T(x) durch G(x) dividiert, das Ergebnis muss 0 sein. Ist es nicht 0 ist ein
Übertragungsfehler aufgetreten. G(x) ist dem Empfänger dabei bereits bekannt.

Zusammenfassung:
• Nachricht: 1101011011

• Generatorpolynom 10011

• Anzuhängende Nulle: 4

• zu übermittelnde Nachricht: 1 1 0 1 0 1 1 0 1 1 1 1 1

• Overhead: 4

36 von 59
Thomas Gebetsberger
NTM 2018/19

Forward Error Correction (FEC, hohe Redundanz)

Im Frame werden zusätzliche Bits geschickt, die ermöglichen, dass Fehler vom
Empfänger ohne Rückfrage beim Sender entdeckt und auch korrigiert werden können.

Durch FEC kann die Anzahl an Retransmissions gesenkt werden und erlauben, die
Fehler sofort im Empfänger zu korrigieren

LAYER 3 (Netzwerkebene)

Beispiel OSPF Router


• Router kennen ihre Nachbarn und sie tauschen mit
ihnen periodisch Nachrichten aus (Hello Pakete)

• Falls ein benachbarter Router für einige Zeit nicht


antwortet, wird der Link zu ihm als ausgefallen
(„lost“) betrachtet, gefolgt von diesen Schritten:

• Die entsprechende LinkState Information wird im


Netz geflutet

• Nach erhalt der neuen LinkStateInformation(en) berechnen alle Router


innerhalb des Netzes ihre RoutingTabellen neu, wodurch sich netzweit ein
neuer konsistenter Zustand ergibt

• Wenn der ausgefallene Link/Router wiederhergestellt ist,


werden die Schritte (1) und (2) erneut durchgeführt

LAYER 4 (Transportebene)

Funktioniert ebenfalls mit Prüfsummen, wie auf der Bit Ebene auf Layer 2

• Sender:

• Betrachte das Segment als eine Folge von 16Bit Integerwerten

• Prüfsumme: Addition (im 1er Komplement) der Werte

• Sender schreibt das Ergebnis in das TCP- /UDP-Prüfsummenfeld

• Empfänger:

• Berechne die Prüfsumme

• Passt diese zum Wert im Prüfsummenfeld? (auch wenn kein Fehler erkannt wird,
kann einer vorliegen!)

37 von 59
Thomas Gebetsberger
NTM 2018/19

LAYER 7 (Applikationsebene)

Erkennung von Paketverlusten (Packet Loss Detection)

➙ Continuity Counter (z.B. RTP)

• Jedes Paket erhält eine neue Nummer

• Client sieht diese Nummern

• Falls eine Lücke auftritt, weiß der Client - Paket ist ausgefallen/ verspätet

Streaming Control Loop (Erkennung)


Feedback zwischen Sender und Empfänger

Block based XOR (Reaktion)


Alle Pakete sind gleich groß und 1 Paket wird mehr geschickt.

Falls ein Paket ausfällt wird es rekonstruiert; geringer Rechenaufwand;

Error Concealment (Reaktion)


Multimedia is hochredundant; Betrachter sollen weggelassene Daten nicht erkennen;

Resilience (Robuste Kodierung)


Die Auswirkung von Übertragungsfehlern soll minimiert werden

➙ AVC

Zu jedem Primary Slice (PS) kann man einen Redundant Slice (RS) kodieren. Der RS
wird mit wesentlich schlechterer Qualität kodiert. PS und RS werden dabei in
unterschiedlichen Paketen transportiert und wenn ein PS verloren geht, kann der
Fehler durch das RS teilweise kompensiert werden!

38 von 59
Thomas Gebetsberger
NTM 2018/19

Kapitel 7 (QoS) - ausgearbeitet von Umair Altaf Hussain

Grundlagen

Das Netzwerk soll eine Dienstgüte anbieten, die für die jeweilige Anwendung
notwendig ist. 

QoS Metriken (Auf was muss geachtet werden/Was könnte passieren?):

• Bottleneck – Bandwidth (Flaschenhals drosselt die Leitung)

• Throughput (zu geringer Durchsatz)

• NetworkDelay(Vezörgerungszeit/Reaktionszeit)

• Jitter (Pakete treffen zeitversetzt beim Ziel ein)

• Packet loss (Paketverluste)

• Per Flow Sequence Preservation || Out-of-Order delivery (Pakete können andere


Wege durch das Netz nehmen)

• Verfügbarkeit, Zuverlässigkeit

Zwei Ansätze im Internet

➙ Best effort meint


• Intelligenz steckt in den Endgeräten

• Gleichbehandlung

• keine Garantien

➙ Anbieten verschiedener Dienstklassen mittels Resource Conservation Prinzip von


QoS?

Mechanismen um mehrere unterschiedliche Verkehrsklassen zu unterstützen:

1. Klassifizieren / Identifizieren
• Erkennen des Paket-Typs und zuordnen zu einer Verkehrsklasse

2. Isolieren
• Unterscheidung anhand der Verkehrsklasse (Verkehrskoppelung, sodass eine
Klasse von einer anderen Verkehrsklasse, die sich fehlerhaft verhält, nicht negativ
betroffen ist.)

• Verschiedene Instanzen einer Verkehrsklasse werden nicht unterschieden o

39 von 59
Thomas Gebetsberger
NTM 2018/19

3. Utilization (Ausnutzung)

• Trotz Entkoppelung von Klassen und Datenströmen, sollen Ressourcen (Bandbreite,


Puffer, usw.) so effizient wie möglich ausgenutzt werden Resource Conservation.

• Ungenutzte Bandbreite (aber nicht mehr) anderen Verkehrsklassen zur Verfügung


stellen

Warteschlangenmanagment

FiFo – First in First out („Der Reihe nach“) = First-Come First-Served (FCFS)
• Warteschlange wird aktiv, sobald mind. ein Paket darin liegt

• Mehrere Warteschlagen können durch Klassifizierung stehen

Tail Drop / Drop Tail:

Wenn die Warteschlange voll ist, werden weitere ankommende Pakete verworfen
(Ankunftsrate > Servicerate) bis in der Warteschlange wieder Platz ist. Jedes Paket wird
gleichbehandelt.

Drop-Tail Problem

Wenn mehrere TCP Verbindungen bestehen kann es vorkommen, dass Pakete vieler TCP
Flows verworfen werden.

• Die TCP-Sender erkennen, dass Pakete verloren gegangen sind und treten
gleichzeitig in die Slow-Start-Phase ein, in der sie ihre Senderate auf ein Minimum
reduzieren.

- Der Netzwerk-Durchsatz sinkt schlagartig!

- Das Netzwerk kann nun unterbelastet sein.

40 von 59
Thomas Gebetsberger
NTM 2018/19

• Wenn die TCP-Sender wieder Acknowledgements vom Empfänger erhalten, 



vergrößern sie ihr Congestion Window laufend.

- Alle TCP-Sender erhöhen schrittweise ihre Senderate bis der Buffer wieder 

voll ist!

- Das Netzwerk ist verstopft.

Weighted Tail-Drop: Pakete werden markiert


(Policer):

• Out-of-contract Paket wird nur behalten, wenn


Queuelänge < qlimit1

• in-contract Paket wird behalten solange


Queuelänge < qlimit2

41 von 59
Thomas Gebetsberger
NTM 2018/19


RED (Random early detection): Ein AQM und Congestion - Avoidance Algorithmus.
Random Early Detection sorgt dafür, dass einzelne Sessions früher zurückschalten als
andere. Dazu wird durchschnittliche Queuelänge überwacht und es wird die davon
abhängende Wahrscheinlichkeit berechnet. RED beobachtet die mittlere
Warteschlangenlänge und verwirft Pakete anhand statistischer Wahrscheinlichkeiten.
Wenn die Warteschlange fast leer ist werden alle ankommenden Pakete akzeptiert.

Beim Anwachsen der Warteschlange wächst auch die Wahrscheinlichkeit des Verwerfens
ankommender Pakete. Wenn sie (annähernd – siehe maximale Obergrenze) voll ist, ist die
Wahrscheinlichkeit des Verwerfens 1 und dementsprechend werden auch alle Pakete
verworfen.

Probleme:

• Funktionieren nur eingeschränkt bei hohen Bandbreiten

• Sehr schwer zu konfigurieren und nur für jeweils genau eine bestimmte Bandbreite

• Unterscheiden nicht zwischen verschiedenen Flows 


Bufferbloat

Es ist notwendig die Größe eines jeden Puffers möglichst geschickt an die jeweiligen
Bedürfnisse anzupassen. Zu kleine Datenpuffer führen zu Paket-Verlust bei Lastspitzen
und reduzierten Durchsatz, zu große Puffer führen zu einer erhöhten Latenz und hohem
Jitter.

Bufferbloat ist ein Phänomen, welches bei packet-switched Netzen vorkommt.


Übermäßige Pufferung von Paketen führt zu erhöhter Latenz und Jitter. Darüber hinaus
reduziert es den allgemeinen Durchsatz des Netzwerks. Kleine Pakete (DNS, ACKS)
werden von riesigen Datenpaketen blockiert, somit kommt es zu timeouts oder zu sehr
langsamen Übertragungen, weil die Pakete im Puffer warten.

Der Netzwerk-Scheduler kann entsprechend dem eingesetzten Algorithmus sowohl


gezielt Pakete im Puffer verwerfen (= löschen) als auch die Reihenfolge der im Puffer
befindlichen Pakete ändern.

➙ Ein Buffer soll nur als Shockabsorber dienen, der bei einer peak aushelfen kann

42 von 59
Thomas Gebetsberger
NTM 2018/19

Algorithmen nach 2002 (Queue Management Algorithmen):

CoDel (controlled delay)

Dabei handelt sich um einen Algorithmus für den Netzwerk-Scheduler zur Vermeidung
von Netzwerküberlastungen, um die durch den sog. Bufferbloat verursachten Probleme
zu bewältigen.

• Misst die Paketverzögerung vom Eingang in die Warteschlange bis zum Austritt

Pakete werden am Pufferanfang mit Zeitstempel versehen und beim Verlassen 

abgelesen

• Maßstab unabhängig von der Leitungsbandbreite, universell einsetzbar ohne 



Konfiguration

• Wird die Pufferverzögerung (im aktuellen Intervall) zu groß

• Grenzwert überschritten

• Verwirf ein möglichst altes Paket (Head Drop, nicht Tail drop!)

• Falls nicht ausreichend, verwirf Pakete in immer kleineren Intervallen bis


Zielverzögerung wieder unterschritten

• Werte: 100ms initiales Intervall, 5ms Pufferverzögerung



Data Center brauchen viel kleinere Werte

Stochastic Fairness Queueing ist kein Shaper, sondern legt nur die Übertragung der
Pakete fest basierend auf flows. Das Ziel ist es Fairness zu garantieren, damit jeder Flow
nach der Reihe senden kann und nicht ein riesiger Flow die restlichen blockiert. SFQ
sendet immer ein Paket, wenn eines zur Verfügung steht. Beim Einreihen in die
Warteschlange kommt jedes Paket in ein Hash Bucket. Der Hash-Wert wird aus
Senderadresse, Empfängeradresse und Sender- und Empfänger Port generiert. Jedes
Bucket repräsentiert einen einzigartigen Flow.

fq_CoDel

Kombination Codel mit SFQ: Round Robin der Queues; Gleichbehandlung aller Flows;
Codel misst Pufferverzögerung der einzelnen Queues, dropped Pakete in den größten
Queues („Elephant Flows“), sonst nicht

43 von 59
Thomas Gebetsberger
NTM 2018/19

Traffic Shaping


Leaky Bucket (Shaper)



Der Leaky Bucket-Algorithmus ist ein einfaches Verfahren zum
Traffic-Shaping. Es wird damit die Menge der übertragenen Daten
geregelt. Dabei wird die maximale Datenrate begrenzt.

Beispielshaper: Leaky Bucket („Kübel mit Loch im Boden“)

• Pakete fallen in den Kübel (nicht Token!)

• Tröpfeln mit fixer Rate aus dem Loch 


Drei Facetten der Netzwerke

• Management Plane (Accounting, Billing, Traffic Engineering)

• Control Plane (MPLS, DiffServ, IntServ / RSVP)

• Data Plane (Klassifizierung, Markieren, Priorisierung, Maximum Rate Enforcement, 



Minimum Rate Assurance)

Data Plane QoS Mechanismen

Klassifizierung, Markieren, Priorisierung, Max. Rate Enforcement, Min. Rate Assurance

wie leitet das Netzwerk Datenpakete weiter? 



wie werden sie differenziert behandelt?
wie wird QoS garantiert?

Klassifizierungstypen
• Implizit (keine Info)

• Simpel (Header-Felder, die explizit für QoS vorgesehen)

• Komplex (mit Header-Feldern, die nicht explizit für QoS vorgesehen sind)

• Deep Packet Inspection (Auswertung der Payload)



Stateful Packet Inspection (Auswertung des Verbindungszustandes)

44 von 59
Thomas Gebetsberger
NTM 2018/19

Marking

(auch Coloring genannt)

setzt explizite Felder für die QoS Klassifizierung

• Source Marking - Sender führt das Marking durch

• Ingress Marking - Geschieht am Eingang

➙ Policing
Token Bucket

ist ein Algorithmus zur Verkehrsformung in paketvermittelten Datennetzen. Er reguliert


durch Netzwerk-Scheduler die mittlere Datenrate und maximale Burst-Größe.

Ziel:

• Datenverkehr so einzuschränken, dass er die vereinbarten Parameter nicht


überschreitet. Die Pakete werden dementsprechend markiert.

Policer werden in Form von Tocken Buckets dargestellt. Der Bucket (Kübel) hat dabei ein
Fassungsvermögen (Burst B Tokens) und wird mit Tokens angefüllt (Rate R Token/s), die
weils ein Byte repräsentieren.

• Green action: Mark in-contract +transmit

• Yellow action: Mark out-of-contract + transmit

• Red action: Drop (or mark exceedingly-out-of-contract + transmit) 


• Wenn genug Tokens im Bucket sind ➙ Packet conforms & x Tokens werden aus dem
Bucket entfernt

- Paket markieren als „in-contract“

- Paket wird weitergeleitet

• Wenn nicht genug Tokens im Bucket sind Packet exceeds

- Paket wird verworfen, oder

- Paket markieren als „out-of-contract“ und weiterleiten (Marking)

➙ Policer verzögern niemals Pakete (Shaper schon!) 


45 von 59
Thomas Gebetsberger
NTM 2018/19

Single Rate Three Color Marker


Funktioniert wie ein einzelner Bucket, nur dass es einen
Excess Bucket gibt, der genützt wird, wenn der
Commited Bucket leer ist

Two Rate Three Color Marker


Der TR-TCM unterscheidet sich von obigen dadurch,
dass die zwei Buckets unterschiedliche Raten haben und,
dass zuerst abgefragt wird, ob in P noch genügend
Tokens sind (beginnt quasi von hinten).

46 von 59
Thomas Gebetsberger
NTM 2018/19

Scheduling
Priority Scheduling - Prioritätswarteschlangen

• Mehrere Warteschlangen mit unterschiedlicher Priorität

• Pre-emtiv: Sobald die Priority Queue aktiv ist, wird sie aktiviert und unterbricht
lower- Priority Queue

• Non-Preemtiv: Warteschlange mit höchster Priorität kommt als nächste dran, aber 

keine Unterbrechung der Übertragung aus niedrigeren Warteschlangen

• Um eine „Aushungerung“ (engl. Starvation) zu vermeiden wird vor der Priority-


Queue gegebenenfalls ein Policer eingesetzt, der z.B. die maximale Datenrate
einschränkt 


Weighted Bandwidth Scheduling - Gewichtungswarteschlangen


• Unterschiedliche Warteschlangen

• Keine Priorisierung, sondern Gewichtung

• Gewichte verteilen die verfügbare Bandbreite auf einzelne Flows oder 



Verkehrsklassen

• Höheres Gewicht ➙ Warteschlange bekommt mehr Bandbreite 



Arbeitsweise einer Prioritätswarteschlange 


➙ Weighted-Round Robin (WRR): 



Statt einer strikten Priorität zwischen den Klassen wechselt der Round-Robin-Scheduler
zwischen den Klassen ab mittels Gewichtung.

Z.B.: Warteschlangen A, B, C, Verhältnis der Gewichte: 1:2:4 Transferierte Pakete aus
Queues: A,B,B,C,C,C,C,A,B,B, 

WRR ist nur fair, wenn alle Pakete gleich groß sind

47 von 59
Thomas Gebetsberger
NTM 2018/19

Fairer: Deficit Round Robin (DRR):

• Erhöht die Fairness von WRR mit einem Deficit-Counter

• Deficit Counter merkt sich für jede Warteschlange, wie viele Bytes sie nicht 

verwendet hat, diese können bei der nächsten Runde verwendet werden

Weighted Fair Queuing (WFQ):

Einzelne Pakete jeder Warteschlange bekommen eine Sequenznummer. z.B.


Warteschlagengewichtung A, B, C: 1:2:4 (Gewichtung wird genau anders aufgeteilt, also
A(4),B(2),C(1))

48 von 59
Thomas Gebetsberger
NTM 2018/19

Control Plane QoS Mechanismen

Routing | MPLS, DiffServ, IntServ/RSVP


wie wird die QoS gesteuert?

DiffServ (Differentiated Services)

• Auf Netzwerkebene, Layer 3 (IP, IP-Route)!

• DiffServ bietet ausschließlich Per-Class-QoS


• Traffic wird nach Klassen (Aggregate) differenziert, welche unterschiedlich
behandelt werden (Priorität: Platin, Gold, Silber)


• Die Markierung erfolgt im Type-of-Service (IPv4) oder im Traffic-Class-Feld (IPv6)

• 6 Bits werden für den Differentiated Service Code Point (DSCP) verwendet

• DSCP bestimmt welcher Klasse das Paket angehört

• Wird am Ingress gesetzt

• 

Per-Hop-Behavior bei DiffServ 

Bei Differentiated Services (DiffServ) und in Multi-Protocol Label Switching (MPLS)
kann User eine bestimmte Übertragungsqualität für die Datenpakete anfordern.
Diese Qualitätsanforderung, die durch eine Markierung des Differential Service
Code Point (DSCP) kenntlich gemacht wird, heißt Per-Hop Behavior (PHB) 

➙ PHB spezifiziert aber nicht welche Mechanismen dafür verwendet werden

• DiffServ wird oft mit darunter liegendem MPLS verwendet! 


Connection Admission Control (CAC)

Admission Control ist ein Prozess, der in Abhängigkeit von der momentanen Auslastung
untersucht, ob ein neuer Flow zugelassen werden kann. Wird z.B. bei DiffServ am Rande
des Netzes durchgeführt.

Wann wird CAC benötigt?

➙ Wenn der produzierte Verkehr die verfügbare Kapazität übersteigt

49 von 59
Thomas Gebetsberger
NTM 2018/19

IntServ (Integreted Services)

• Architektur, um einzelnen Datenströmen QoS-Garantien anbieten zu können

• Per Flow Differenzierung


➙ Zentrales Problem, das von IntServ adressiert wird: Kann ein neuer Datenstrom
zugelassen werden, ohne dass die Garantien für andere Datenströme verletzt werden?


Einsatzgebiet: gut für Zugangsnetze (Access Networks) geeignet, da es eine sehr präzise
QoS- Differenzierung der einzelnen Verkehrsflüsse ermöglicht 

Klassifizierung (Complex Per Flow Classification), 

Scheduling (Per Flow Resource Management),

Admission Control (CAC). 


RSVP - Ressource Reservation Protocol

• Ein Mechanismus, um die Anforderungen dem Netzwerk mitzuteilen

• erlaubt im Netzwerk ein bestimmter Bedarf an Bandbreite zu reservieren RSVP



Kein eigenes RSVP-Routing

- Verlässt sich auf die verfügbaren Routing-Protokolle

- legt nicht fest, wie die Ressourcen reserviert werden und wie das Paket
weitergeleitet wird

Soft State
• Reservierungen (Path-Message / Resv-Messages) müssen regelmäßig bestätigt 

werden, sonst werden sie gelöscht (Timeout)

• Dynamische Adaptation für Änderungen bei

• Multicast Gruppenmitgliedern

• Netzwerktopologie

• Änderung einfach durch Schicken von neuen Path-Message / Resv- 



Messages 


50 von 59
Thomas Gebetsberger
NTM 2018/19

Transport Layer

Explicit Congestion Notification


ECN ist ein AQM Mechanismus

• Benutzt TCP/IP Header um ECN Benachrichtigung zu senden

• Router setzt ECN Flag im Header wenn Überlast auftritt

• Sendertbehandelt ECN markierte Pakete genauso wie verlorene Pakete 



(Reduzierung des Überlastfensters)

• Aber es werden keine Pakete verloren 


Ist das Internet ECN-fähig?

Leider nicht wirklich, weil häufig deaktiviert und viele Router die ECN Bits überschreiben
oder die Pakete löschen

51 von 59
Thomas Gebetsberger
NTM 2018/19

Datagram Congestion Control Protocol - DDCP 



Eigenständiges Transportschicht Protokoll, wird verwendet für zeitkritische Übertragung,
nachrichtenorientiert, Information ob Paket angekommen ist, Signalisierung von Überlast
durch ECN, implementiert im Linux Kernel ab 2.6.14 


Stream Control Transmission Protocol - SCTP 



kombiniert Funktionalitäten von UDP und TCP

Funktionalität:
• Multihoming

- Kommunikation zwischen Endpunkten mit mehr als einer IP Adresse

- Transparentes wechseln der Netzwerkpfade im Fehlerfall

- Dynamisch hinzufügbare, entfernbare Adressen währen der Verbindung

- Dynamische Auswahl des Primärpfades

• Mehrere Parallele Streams

• Empfänger kann wählen ob Nachrichten in Reihenfolge des Sendens oder des


Empfangens 

bearbeitet werden

52 von 59
Thomas Gebetsberger
NTM 2018/19

Kapitel 8 - QoE

Untersucht, wie menschliche Beobachter die subjektive (wahrgenommene) Qualität von


Multimedia Inhalten bewerten.

QoE vereint die subjektive Bewertung der Testperson mit objektiven Modellen (zB den
Reference Metriken). Die Ergebnisse der QoE müssen quantifiziert und objektiviert
werden, um QoS-Szenarien bewerten zu können

Key Performance Indicators (KPI)


• Reliability

• Satisfaction

Legende:
• Mean Opinion Score (MOS): 

Bewertungseinheit für subjektive Meinungsumfragen

Durchschnittlicher Grad der Zufriedenheit für einen durchschnittlichen Benutzer
(numerisch)

• Mean Square Error (MSE)

• Peak Signal to Noise Ratio (PSNR)

• Structural SIMilarity(SSIM)

• PerceptualEvaluation ofSpeech Quality(PESQ): objektiven Bewertung der


Sprachqualität(VOIP)

• Perceptual Objective Listening Quality Analysis(POLQA): größere Genauigkeit im VoIP


Bereich

Definition QoE (Raake & Egger, 2014):


QoE is the degree of delight or annoyance of a person whose experiencing
involves an application, service, or system. It results from the person’s
evaluation of the fulfillment of his or her expectations and needs with respect to
the utility and/or enjoyment in the light of the person’s context, personality and
current state.

53 von 59
Thomas Gebetsberger
NTM 2018/19

QoE Messansätze
Bei QoE Studien werden User Tests durchgeführt; dadurch wird eine genaue
Datenerhebung möglich. Diese muss länger dauern, um möglichst objektive Bewertungen
zu erhalten ➙ hier besteht die Schwierigkeit menschliche Reaktionen mathematisch
korrekt zu erfassen

Quantitative QoE Metriken sind mathematisch beschreibbar, jedoch stellt sich die Frage,
ob diese die menschliche Wahrnehmung akkurat wiedergeben.

Subjektive QoE Messungen

Für diese Messungen müssen korrekte Methoden, Kontexte und Inhalte gewählt werden.
Die Erhebung findet über direkte Befragung oder Beobachtung statt

Moderatorvariablen (beeinflussen den Effekt):


• Studienleiter, Aufsichtspersonen

• Inhalt und Art der Präsentation der zu testenden Anwendung

• Auswertungs- und Analysemethoden

• Testumgebung (Raum, wo findet die Testung statt?)

Testumgebung
Um eine verlässliche Replizierbarkeit der Studien zu gewährleisten, müssen einige Punkte
bei der Wahl der Testumgebung bedacht werden, wie etwa

• die Art und Qualtität des Monitors, den Lautsprechern bzw. anderer Testgeräte,

• die Licht und Akustikbedingungen,

• die Laborarchitektur / der Aufbau des Raums oder

• die Betrachungsdistanz bzw. -winkel

Auch das Testmaterial kann und wird die Bewertung des Inhalts beeinflussen (eventuell
emotionale Bindung oder positive Assoziationen).

54 von 59
Thomas Gebetsberger
NTM 2018/19

Testmethodik

Für die Methodik der Tests und deren Durchführung sind ebenfalls einige Punkte zu
bedenken:

• Wahl der Teilnehmer (Laien oder Experten)

• Instruktionen (Welche Fragen stelle ich der Testperson?)

• Präsentation (wie wird das Material präsentiert? Gleichzeitig / nacheinander)

• Benotungsschema (numerisch oder kategorisch)

Präsentationsmethoden und Skalen

• Single Stimulus - Einzelbild 



(Kat. und numerisch, nickt-kategorische Attributsskala oder numerische Skala)

• Double Stimulus Impairment Scale - Quelle & Resultat nacheinander 



(Kat. Beeinträchtigungsskala)

• Double Stimulus Countinuous Quality Scale - Zwei Bilder gepaart, sollen separat
bewertet werden

(jeweils nicht-kategorische Attributsskala oder numerische Skala)

• Stimulus Comparison - Bilder werden gleichzeitig gezeigt, Bewertung im Bezug auf


Originalbild

(relative kat. Attributsskala oder Relative nicht-kat. Bewertung)

• Single Stimulus Continuous Quality Evaluation - 



während der Betrachtung eines einzelnen Videos kann dies mit einem Schieber
kontinuierlich auf einer relativ nicht-kategorialen Skala bewertet werden

• Simulteneous Double Stimulus for Continuous Evaluation



zwei Videos werden gleichzeitig präsentiert und das Testvideo im Bezug auf das
Original bewertet

(relative nicht-kategorial Bewertung)

55 von 59
Thomas Gebetsberger
NTM 2018/19

Exkurs Web Ladezeiten:


Grenze der Akzeptanz sinkt über die Jahrzehnte

Transaktions-zentrischer Ansatz
• Benutzer führen einfachen Web Task aus

• Unabhängig Variable: die Wartezeit

• Tp gibt nach jedem Durchlauf Feedback



➙ logarithmischer Zusammenhang zwischen Ladezeit und QoE bei Web Aufgaben
und File Downloads

Der TZ Ansatz im Experiment ist leicht und billig durchführbar, aber nicht gut
umzulegen auf die Realität

➙ in Wahrheit ist Web Browsing ein Flow aus verschiedenen Aufgaben über
verschiedene Webseiten hinweg.

Flow-zentrierter Ansatz

• User surft auf einer Website (zB Amazon)

• die Testbedingungen werden dabei im Hintergrund verändert

• der Benutzer soll einfache Aufgaben ausführen und nach wenigen Minuten (2-3) wird
von der Testperson QoE Feedback eingeholt.

Dieser Ansatz ist näher an der Realität, aber dafür auch schlechter zu kontrollieren und
bindet komplexere Faktoren mit ein ➙ die Bewertung gestaltet sich schwieriger

➙ nicht zu unterschätzend ist der Einfluss des Inhalts

➙ nicht linearer Anstieg der QoE bei linear steigender Bandbreite, weil

• einerseits die Bandbreite nicht linear mit der Page Load Time (PLT) korreliert (auch
auf Schwächen der Protokoll rückführbar) - Technische Sättigung

• und die aktuelle Performanz des Ladeprozesses für den User nicht transparent ist
(anders als bei File Downloads) - User Sättigung

56 von 59
Thomas Gebetsberger
NTM 2018/19

Von subjektiven zu objektiven Metriken


➙ eine mathematische Funktion berechnet Werte der wahrgenommene Qualität
basierend auf technischen Messwerten.

• Subjektive Tests sind zeitaufwendig und teuer


• Objektive Algorithmen und Metriken sollen einen subjektiven MOS mit hohem
Korrelationsgrad abschätzen

Full Reference Metriken


Metrik zur Bestimmung der Wiedergabetreue im Vergleich zu einer Referenz.
• Mean Square Error (MSE; für Bildkompression)
• Peak Signal to Noise Ratio (PSNR)
➙ recht große Streuung, der SSIM ist hier genauer

• Structural Similarity (SSIM) Index



Anwendung nur auf den Luminanz-Kanal; SlidingWindowVerfahren (z.B. auf 8x8
Blöcke)
• POLQA (Perceptual Objective Listening Quality Analysis) 

funktioniert gut bei VoIP

Weiterentwicklung des PESQ (Standard ab 2001)


Reduced Reference Metriken


Wenn das Original nicht als Reference dargeboten werden kann (zB beim Broadcast
von einer TV Übertragung) können verschiedene Features oder Hints gegeben werden,
um der Testperson einen Anker zu geben.

No Reference Metriken

Wenn gar keine Vergleichswerte gegeben werden, bezeichnen wir diese als No
Reference Metriken - die Testperson ist quasi im „blind mode“.

57 von 59
Thomas Gebetsberger
NTM 2018/19

QoE QoS

Success rating Resource measure Success measure


➙ MOS - größer besser ➙ Durchsatz ➙ Verfügbarkeit

➙ Erfolgsquote

Failure rating Failure measure


➙ Abbruchrate
➙ Paketverlustrate

➙ Churnrate ➙ Paket-reordering

(Abwanderungsrate) ➙ Jitter

Aktuelle Forschung

QoE Crowdsourcing
Stärken verglichen mit klassischen Laborsettings: leichter zugänglich, zeitsparend und
zeitlich flexibel, relativ kostengünstig

Schwächen: weniger Kontrolle, weniger Wissen über die Teilnehmer

Chancen: Optimierung der Experimentalkonfiguration, Möglichkeit neue Wege der


Forschung zu Beschreiten

Gefahren: Beschränkte Validität der Experimente, zusätzliche technische


Beschränkungen wie Bandbreite, Devices, etc.

Best practices
• gebräuchliche Software verwenden

• die Aufgaben einfach gestalten

• eine angemessene Testlänge wählen

• Feedback Möglichkeiten einrichten

• Reliabilitätsprüfung einsetzen (im Test selbst, während des Testens und Post-Test)

58 von 59
Thomas Gebetsberger
NTM 2018/19

Two stage approach


• Stage 1: zuerst eine einfache Aufgabe, die eine große Bandbreite an User bringen soll
und kostengünstig ist; hier wird auch schon klar, wie reliabel die User sind

• Stage 2: hier wird der eigentliche QoE Test durchgeführt

QoE für AR / VR Technologien


Wie soll ein solcher QoE Test aussehen?
• ein leerer Raum mit den Kabeln von der Decke

• viel Training vor allem für neue User

• Kontrolle von Technischen Problemen und Ereignissen

• Kontrolle der „Cyber-Sickness“

• Die Rating Skalen sollen in die AR/VR-Welt integriert werden

59 von 59