QoS-Mechanismen für Router zur Unterstützung des Priority Promotion Schemes (PPS) in IP-basierten Netzen



Ähnliche Dokumente
Guide DynDNS und Portforwarding

Entwurf und simulative Bewertung eines Verfahrens zur Behandlung von Engpässen in Bandwidth-Broker-gesteuerten DiffServ- Netzwerken

Konfigurationsanleitung Quality of Service (QoS) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.1.

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

FAQ. Häufige VoIP-Probleme

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Zeichen bei Zahlen entschlüsseln

1 topologisches Sortieren

Lizenzierung von System Center 2012

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Urlaubsregel in David

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

ICS-Addin. Benutzerhandbuch. Version: 1.0

Sicherheitsmechanismen für Voice over IP

EasyWk DAS Schwimmwettkampfprogramm

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen

Thema IPv6. Geschichte von IPv6

Voice over IP (VoIP) PING e.v. Weiterbildung Blitzvortrag. Dennis Heitmann

Eine Anwendung mit InstantRails 1.7

Konzepte der Informatik

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

Lineare Gleichungssysteme

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

ADSL-Verbindungen über PPtP (Mac OS X 10.1)

Kommunikations-Management

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Step by Step Webserver unter Windows Server von Christian Bartl

Professionelle Seminare im Bereich MS-Office

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Firewalls für Lexware Info Service konfigurieren

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand:

WLAN und VPN im b.i.b. mit Windows (Vista Home Premium SP1) oder Windows 7

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Dokumentation von Ük Modul 302

Tutorial Windows XP SP2 verteilen

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

ISA Server 2004 Einzelner Netzwerkadapater

Task: Nmap Skripte ausführen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Netzwerkeinstellungen unter Mac OS X

Grundlagen verteilter Systeme

FTP-Leitfaden RZ. Benutzerleitfaden

OP-LOG

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Einleitungsvortrag zur Diplomarbeit

Tutorial -

Anbindung des eibport an das Internet

Root-Server für anspruchsvolle Lösungen

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Uni-Firewall. Absicherung des Überganges vom Hochschulnetz zum Internet am Wingate (Helmut Celina)

Projektmanagement in der Spieleentwicklung

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

Lizenzen auschecken. Was ist zu tun?

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

impact ordering Info Produktkonfigurator

Technical Note ewon über DSL & VPN mit einander verbinden

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

SolarWinds Engineer s Toolset

WLAN Konfiguration. Michael Bukreus Seite 1

Firewall Implementierung unter Mac OS X

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

ANYWHERE Zugriff von externen Arbeitsplätzen

DNS-325/-320 und FXP

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Herzlich Willkommen bei der nfon GmbH

Technische Grundlagen von Internetzugängen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Microsoft Access 2013 Navigationsformular (Musterlösung)

Wie optimiert man die Werbungserkennung von Ad- Detective?

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Gesetzliche Aufbewahrungspflicht für s

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Performance und Bandbreitenmanagement Tests Version MuSeGa

Einführung in die Netzwerktechnik

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Wie macht man einen Web- oder FTP-Server im lokalen Netzwerk für das Internet sichtbar?

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

PowerPoint 2010 Mit Folienmastern arbeiten

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Abwesenheitsnotiz im Exchange Server 2010

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Virtual Private Network

Transkript:

Masterarbeit Im Masterstudiengang Informationstechnik QoS-Mechanismen für Router zur Unterstützung des Priority Promotion Schemes (PPS) in IP-basierten Netzen Emanuel Eick Institut für Softwaretechnik und Datenkommunikation Hochschule Mannheim Windeckstrasse 11 D-68163 Mannheim Autor Emanuel Eick Matrikelnummer 521457 Betreuer Prof. Dr. Eckhart Körner MSc., Dipl.-Ing.(FH) Michael Stier Dieses Dokument umfasst 15 Seiten Zeitraum 1.4.26 3.9.26

Inhaltsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis Abkürzungen iv vi vii 1 Einführung 1 2 Verkehrskontroll-Mechanismen in (Software-)Routern 3 2.1 Paket Klassifizierung................................ 4 2.2 Zugangskontrolle (Admission Control) und Traffic Shaping............ 4 2.2.1 Leaky Bucket Filter............................. 5 2.2.2 Token Bucket Filter............................. 5 2.3 Queuing und Scheduling.............................. 6 2.3.1 FIFO-Queuing............................... 6 2.3.2 Priority-Queuing (PQ)........................... 7 2.3.3 Fair-Queuing (FQ)............................. 8 2.3.4 Weigthed Fair Queuing (WFQ)....................... 9 2.4 Erweiterte hierachische Queuing Mechanismen.................. 1 2.4.1 Hierachical Fair Service Curve (HFSC).................. 11 2.4.2 Hierachical Token Bucket (HTB)..................... 14 2.5 Paket Discarding-Mechanismen.......................... 16 2.5.1 Tail Drop.................................. 17 2.5.2 Early Drop................................. 17 2.5.3 Drop Preference.............................. 17 2.5.4 Random Early Drop (RED)........................ 18 2.6 Traffic Control & TC-NextGeneration....................... 18 2.7 Traffic Control mit ALTQ unter Unix........................ 2 3 Neue Ansätze für Quality of Service in Kernnetzen 22 3.1 Admission Control in QoS Netzen......................... 23 3.2 Das Priority Promotion Scheme.......................... 26 3.2.1 Elastisches PPS............................... 29 3.2.2 Probeverfahren............................... 31 3.2.3 Thrashing-Verhalten beim Probing..................... 33 3.2.4 Access Control bei PPS.......................... 35 3.2.5 Router Konfiguration für MF-PHB..................... 37

Inhaltsverzeichnis 3.2.5.1 HTB als Scheduler für PPS Router............... 37 3.2.5.2 Wahl des Queuing Mechanismus................ 39 3.2.5.3 Aufbau eines MF-PHB Softwarerouters............ 4 3.2.5.4 Validierung des MF-PHB-Verhaltens.............. 42 3.2.6 Verhalten zwischen Probing und Admitted Verkehr bei MF-PHB..... 43 3.2.6.1 Versuchsablauf.......................... 44 3.2.6.2 Diskussion des Experiments................... 51 3.3 Fazit zu PPS..................................... 52 4 Traffic-Shaping von Videomaterial 56 4.1 Analyse von DVB-S Videomaterial......................... 56 4.2 Codierung von Videomaterial in H.264 für IPTV................. 62 4.3 Korrelation von lokalem und gesendetem Videodatenstrom............ 67 5 Resultate und Ausblick 71 A Anhang 74 A.1 Organisation der DVD............................... 74 A.2 TC und ALTQ Codebeispiele............................ 74 A.3 PPS-Experiment................................... 76 A.3.1 Monitoring des Netzwerkinterface..................... 76 A.3.2 Ermittlung der momentanen Datenrate................... 76 A.3.3 Generierung von Netzwerkverkehr..................... 77 A.3.4 Experiment: Verhalten zwischen Probing- & Admitted-Verkehr..... 78 A.3.5 Experiment: Bitratetest........................... 82 A.3.6 Experiment: Validierung von PPS..................... 82 Literaturverzeichnis 93 iii

Abbildungsverzeichnis 2.1 Traffic-Shaping mit dem Leaky Bucket Filter.................... 5 2.2 Traffic-Shaping mit dem Token Bucket Filter.................... 6 2.3 Pakete werden ihrem Eintreffen nach in eine FIFO-Queue eingeordnet [1]..... 7 2.4 Pakete werden ihrer Priorität nach in die Priority Queue eingeordnet [1]...... 8 2.5 Beim Fair-Queueing werden die Pakete vom Classifier auf die Queues verteilt [1]. 9 2.6 Weigthed Fair Queuing ordnet jedem Paket einen Sendezeitpunkt zu [1]...... 1 2.7 Beispiel für eine hierachische Aufteilung des Netzzugangs zwischen zwei Kunden, wobei der erste Zugang wiederum gesplittet ist [2].............. 12 2.8 Lineare und stückweise-lineare Servicecurve.................... 13 2.9 VoIP Servicecurve verdrängt Data Verkehr..................... 13 2.1 Traffic-Control Architektur in Linux [3]....................... 18 2.11 Einsatz von Queuing-Disciplines in Linux Traffic Control [3]........... 19 2.12 Funktionsstack von TC [3].............................. 2 2.13 Funktionsstack von TCNG [3]............................ 2 3.1 Multiplexing zweier Ströme [4]........................... 23 3.2 Aufteilung des MBAC Verfahrens in Policer und Schätzer............. 25 3.3 Statisches (links) und elastisches PPS, mit Schwellen und Probing/Admitted Verkehr [5]........................................ 27 3.4 Redundanz der PPS Queue um Routerausfälle beim Einsatz von statischem PPS aufzufangen...................................... 29 3.5 Dynamische Bandbreite der Admitted-Schwelle bei elastischem PPS....... 3 3.6 Pre-arranged Probing (links), sowie Probing während der Kommunikation bei PPS [5]........................................ 32 3.7 Thrashing-Effekt bei simultanem Probing...................... 34 3.8 Slow-Start Mechanismus zur Vermeidung von Thrashing.............. 35 3.9 Allgemeiner Überblick über eine Admission Control in einer PPS Umgebung [5]. 36 3.1 Modellierung des MF-PHB mit dem HTB-Algorithmus............... 39 3.11 Versuchsaufbau für MF-PHB in Download Richtung................ 43 3.12 Periode eines Admitted Pakets, wobei die Verteilung des Zeitpunkts t 1 exponentiell ist........................................ 45 3.13 Periode eines Probedurchgangs, wobei die Dauer t 2,3 normalverteilt ist...... 45 3.14 Aufzeichnung der Datenraten, des Admitted- und Probe-Verkehrs, über der Zeit (Experiment 2_3_2)................................. 47 3.15 Histogramme der Burstlängen aus den Versuchen exp2_3_1 bis exp2_3_3..... 49 3.16 Verlustrate der Probepakete; jedes Diagramm steht für eine BWp Auslastung und die X-Achse gibt die BWp Auslastung an...................... 5

Abbildungsverzeichnis 3.17 Korrelation von Probeverlust und späteren Verlusten des Admitted Verkehrs [6].. 51 3.18 Einsatz von MF-PHB in den Edge-Routern des Gossip-Demonstrators....... 55 4.1 Schwankungen der Datenrate bei der Ausstrahlung von DVB-S [7]........ 57 4.2 Vereinfachte Darstellung des Videostreaming-Aufbaus............... 58 4.3 Die durchschnittliche Datenrate des MPEG2 Referenz-Clips über die Zeit aufgetragen......................................... 59 4.4 Histogramm der Datenrate, bezogen auf 5 Gruppen des MPEG2 Referenz-Clips. 6 4.5 Die maximalen Pufferstände werden durch Integration über die Datenrate ermittelt. 61 4.6 Glättung des Videoclips auf -Datenrate des Ausgangsmaterials + 1%...... 61 4.7 Glättung des Videoclips auf -Datenrate des Ausgangsmaterials + 3%...... 62 4.8 Bitratetest 6, dabei stellt die linke Y-Achse die durchschnittliche Datenrate pro versendetem Packet dar und die rechte Y-Achse die Framegrößen, wie sie im MPEG4 Container vorkommen........................... 68 4.9 Capture-Trace des MPEG2-Transportstreams Referenzvideos, per VLC gestreamt. 69 A.1 Versuchsreihe Experiment1_1_(1-3)........................ 78 A.2 Versuchsreihe Experiment1_2_(1-3)........................ 79 A.3 Versuchsreihe Experiment2_1_(1-3)........................ 79 A.4 Versuchsreihe Experiment2_2_(1-3)........................ 8 A.5 Versuchsreihe Experiment2_3_(1-3)........................ 8 A.6 Versuchsreihe Experiment3_1_(1-3)........................ 81 A.7 Bitratetest 5..................................... 82 A.8 Bitratetest 6..................................... 82 A.9 Bitratetest 7..................................... 82 A.1 Bitratetest 8..................................... 82 A.11 Bitratetest 9..................................... 83 A.12 Bitratetest 1.................................... 83 A.13 Bitratetest 11.................................... 83 A.14 Bitratetest 12.................................... 83 v

Tabellenverzeichnis 2.1 Vor- und Nachteile der gängigsten Queuing Verfahren [8]............. 11 2.2 Klassenzustände des Hierarchical Token Bucket [9]................. 16 2.3 Von ALTQ unterstützte Queuing Mechanismen [1]................ 2 3.1 Pro und Contra verschiedener Admission Control Verfahren........... 26 3.2 Übersicht über die Schwellwerte, sowie zugesicherten minimalen Bandbreite... 38 3.3 Übersicht der Schwellwerte sowie Queue-Größen in Experiment exp_show_pps.. 44 3.4 Applikationen mit den jeweilig verwendeten Paketgrößen............. 44 3.5 Belegung der Admitted-Queue im Laufe des Experiments............. 46 3.6 Belegung der Probing-Queue, sowie Probedauer pro Periode............ 47 3.7 Gegenüberstellung der Resultate von Experiment exp2_3_1 bis exp2_3_3..... 48 3.8 Problematiken beim Einsatz von PPS sowie deren Lösungen............ 52 4.1 Eigenschaften des MPEG2 Referenzmaterials.................... 58 4.2 Traffic-Shaping Testreihen um Referenz-Clip zu glätten.............. 6 4.3 Testreihen, um Auswirkungen der x264 Parameter auf die Datenrate / Qualität des Fußball-Livevideostroms zu ermitteln...................... 66 4.4 Testreihen, um Auswirkungen der x264 Parameter auf die Datenrate / Qualität des Zeichentrick-Videostroms zu ermitteln..................... 67 4.5 Testreihen, um Auswirkungen der x264 Parameter auf die Datenrate / Qualität des Videostroms zu ermitteln............................ 68

Abkürzungen 3GPP AAA AC ALTQ BE BMBF BSD CBQ CBR CL COPS DiffServ DoS DSCP DVB ECN ECN EF ETSI FEC FIFO FQ FTP HFSC HTB IDR IMS IntServ IP 3rd Generation Partnership Project Authentication, Authorization, Accounting Admission Control Alternative Queuing Best Effort Bundesministerium für Bildung und Forschung Berkeley Software Distribution Class Based Queuing Constant Bitrate Controlled-Load Common Open Policy Service Differentiated Services Denial-of-Service Differentiated Services Code Point Digital Videobroadcast Explicit Congestion Notification Explicit Congestion Notification Expedited Forwarding European Telecommunications Standards Institute Forward-Error-Correction First-in, first-out Fair Queuing File Transfer Protocol Hierachical Fair Service Curve Hierachical Token Bucket Instantaneous Decoder Refresh IP Multimedia Subsystem Integrated Services Internet Protocol

Abkürzungen IPTV MBAC MF-PHB MGEN MMS MPEG MPEG-TS MPLS MTU NIC NSIS OS PAC PBAC PCM PDP PEP PER PES PF PPS PQ QoS QPSK RED RSVP RTCP RTP RTSP SFQ SIP SLA TB TC TCNG TCP TOS IP-Television Measurement Based Admission Control Measurable Forwarding per-hop Behavior Multi-Generator Media Monitoring Server Moving Picture Experts Group MPEG Transport-Stream Multiprotocol Label Switching Maximum Transfer Unit Network Interface Cards Next Steps in Signaling Operating System Parameter Based Admission Control Probe Based Admission Control Pulse Code Modulation Policy Decision Point Policy Enforcement Point Packet Error Rate Packetized Elementary Streams Packet Filtering Priority Promotion Scheme Priority Queuing Quality of Service Quadrature Phase Shift Keying Random Early Drop Resource Reservation Protocol RTP Control Protocol Real-Time Transport Protocol Real Time Streaming Protocol Stochastic-Fair Queuing Session Initialization Protocol Service Level Agreement Token Bucket Traffic-Control Traffic-Control NextGeneration Transmission Control Protocol Typ-Of-Service viii

Abkürzungen UA UDP VBR VoD VoIP WFQ User Agent User Datagram Protocol Variable Bitrate Video-On-Demand Voice-over-IP Weigthed Fair Queuing ix

1 Einführung Im klassischen Telefonnetz wird für jedes Telefonat eine exklusive Leitung zwischen den Teilnehmern geschaltet. Mit der Folge, dass für jedes Telefonat die Qualität garantiert werden kann. Dadurch kommt es bei laufenden Telefonaten weder zur Minderung der Sprachqualität durch Überlastung der Leitung, noch zu sehr großen Verzögerungen bei der Übermittelung der Informationen. Die beiden erwähnten Eigenschaften Exklusivität und Laufzeit waren bei der Konzipierung des Internets keine Voraussetzung. Viel mehr ging es um die Schaffung eines paketvermittelten Netzes, bei dem Datenpakete, die vom Sender abgeschickt wurden, garantiert beim Empfänger ankommen sollten. Dabei durften Paketlaufzeiten, sowie gewählter Weg der einzelnen Pakete, variieren. Außerdem sollten die Auswirkungen durch Überlastungen des Netzes durch eine gerechte Aufteilung der Ressourcen unter den Teilnehmern minimiert werden. Dieses für Datendienste äußerst günstige Verhalten kann für Dienste, welche von der Verbindung kurze Verzögerung (Delay), geringe Laufzeitvarianz (Jitter) und hohe Verfügbarkeit fordern, zum Problem werden. Gerade die State-Of-The-Art Dienste wie Voice-over-IP (VoIP), Video-on-Demand (VoD), IPTV, aber auch Spiele, die das heutige Internet so interessant machen, setzen in hohem Maße qualitativ hochwertige Verbindungen voraus. Alle möglichen Maßnahmen und Techniken, um diesen Diensten Garantien in Bezug auf Laufzeit oder Paketverlust zu geben, werden unter dem Begriff Quality-of-Service (QoS) zusammengefasst. Um in einem solchen paketbasierten Netz die oben aufgeführten Dienste zu realisieren, wurden im Laufe der Zeit zwei Typen von Techniken entwickelt. In die erste Klasse gehören die Integrated Services, bei denen in den Routern entlang der Stecke Bandbreite reserviert wird. Dabei wird versucht, die klassische Ende-zu-Ende Verbindung der Telefonnetze nachzubilden. Zu der zweiten Technik gehören die Differentiated Services, bei denen den Paketen anhand von Merkmalen eine Priorität zugewiesen wird. Da beide Techniken ihre Mängel haben, wurden neue Ansätze gesucht. Einer dieser Wege um QoS in Kernnetzen zu realisieren ist, die Festlegung der Verbindungsprioritäten an die Netzränder zu verlagern. Die Verwaltung und Kontrolle der verfügbaren Bandbreite soll dabei von den Endgeräten und Zugangsroutern übernommen werden. Dieser Ansatz nennt sich Admission Control und kann unterschiedlich.

1 Einführung Die Masterarbeit entstand im Rahmen des pan-europäischen CELTIC-Projekts VIDIOS 1, kurz für "Video Distribution over MPLS-Networks supporting heterogeneous format environments. Aufgabe war es, einen Demonstrator zu entwickeln, der als Admission-Control-Mechanismus das sogenannte Priority Promotion Scheme (PPS) unterstützt. Dafür wurde das PPS ausgiebig untersucht, wobei das Hauptaugenmerk auf der Unterstützung existierender Router-Komponenten, sowie dessen Deployement in Kernnetzen lag. Um dies zu erreichen wurden unter anderem existierende Queuing- und Scheduling-Mechanismen auf deren Nutzbarkeit für PPS hin untersucht. Des Weiteren sollten die Schwächen des Priority Promotion Schemes aufgedeckt, und mögliche Lösungen aufgezeigt werden. Der Aufbau der Masterarbeit lässt sich wie folgt beschreiben: Im ersten Kapitel werden die Verkehrskontroll-Mechanismen, die unter Linux bzw. Unix standardmäßig zur Verfügung stehen, erläutert. Im zweiten Kapitel werden die drei bekannten Admission-Control Techniken vorgestellt, dabei wird im insbesonderen auf das Priority Promotion Scheme eingegangen. Im ersten Schritt werden die Techniken, die von PPS unterstützt werden, erläutert und im zweiten Schritt dessen Umsetzung in Routern diskutiert. Abschließend werden anhand einiger Experimente der während der Masterarbeit entstandene PPS-Router validiert. Dieser Software-Router findet seinen Platz in einem Demonstrator, der unter anderem Voice-over- IP (VoIP) und Video-Streaming unterstützt. Aus diesem Grund wird im dritten Kapitel eine Analyse von existierenden Digitial-Video-Broadcasting (DVB) Lösungen vorgenommen, um die dort verwendeten Ansätze der Videokodierung für den Demonstrator zu adaptieren. Dazu gehört auch die Erforschung des Videoverhaltens, wenn die Bandbreite durch sogenanntes Traffic-Shaping begrenzt wird. Zu guter Letzt werden Zukunftsperspektiven sowohl für den Demonstrator, als auch für die Weiterentwicklung des Priority Promotion Schemes gegeben. 1 http://projects.celtic-initiative.org/vidios/ 2

2 Verkehrskontroll-Mechanismen in (Software-)Routern In den Anfangstagen des Internets war die angestammte Aufgabe eines Routers Pakete zwischen Netzen zu vermitteln. Dabei wurde strikt nach dem Prinzip First come, first served gearbeitet. Jedes Paket wurde nach dem Zeitpunkt des Eintreffens am Router verarbeitet und weiter versendet. Das Internet ist seit dieser Zeit exponentiell gewachsen, und neben den reinen Datendiensten wie FTP und Email sind viele neue, zum Teil interaktive Dienste hinzugekommen. Diese stellen neue Anforderungen an die Router. Zum einen sind Ressourcen wie Speicher oder Bandbreite rar, und zum anderen stellen die Dienste unterschiedliche Anforderungen, wie zum Beispiel: Verzögerung (Delay): Die Zeit, die ein Paket vom Sender zum Empfänger benötigt. Laufzeitunterschiede (Jitter): Die Zeitvarianz, die zwischen den einzelnen Verzögerungen einer Verbindung auftritt. Robustheit gegen Datenverlust: Geringe Auswirkung bei Paketverlust auf die Qualität der Verbindung. Um möglichst vielen dieser Punkte gerecht zu werden, wurden verschiedene Mechanismen im Bereich der Paket-Handhabung eingeführt. Diese Techniken lassen sich grob in die folgenden Kategorien aufteilen [8]: Klassifizierung. Zugangskontrolle (Admission Control) und Traffic Shaping. Queuing und Scheduling Techniken. Techniken zum Verwerfen von Paketen. Diese vier Kategorien werden nun in diesem Kapitel vorgestellt. Leider sind die Übergänge zwischen den einzelnen Disziplinen fließend, was die Einordnung der einzelnen Unterpunkte nicht immer einfach gestaltet. Des Weiteren ist keine der genannten Techniken ein Standard, sondern benennt die akademischen Grundlage. Die herstellerabhänigen Implementationen haben häufig nur einen vermeintlich ähnlichen Namen [8], was die Untersuchung der Techniken nicht erleichtert.

2.1 Paket Klassifizierung Zum Abschluss dieses Kapitels soll noch eine kurze Zusammenfassung darüber gegeben werden, wie die Techniken der Verkehrskontrolle in aktuellen Betriebssystemen eingesetzt werden können. 2.1 Paket Klassifizierung In diesem Schritt versucht der Router, das empfangene Paket zu kategorisieren. Die dabei angewandten Regeln können zum Beispiel die Pakete nach deren Wichtigkeit oder der Zugehörigkeit zu einem bestimmten Protokoll oder einer Applikation sortieren. Erst durch Klassifizierung wird es möglich, Pakete bzw. Datenströme differenziert zu betrachten, und somit unterschiedlich zu behandeln. Der Vorgang der Klassifizierung kann dabei von sehr einfachen bis äußerst komplexen Mechanismen reichen. An der unteren Grenze der Komplexität steht das einfache Klassifizieren durch die Analyse des Paket-Headers. Anhand von Informationen wie der Portnummer oder Zieladresse entscheidet der Router, wie mit der Behandlung des Pakets fortgefahren werden soll. Diese Technik steht heutzutage schon in Low-Budget Hardware zur Verfügung. Am anderen Ende der Skala befinden sich komplexe state-machines, die anhand gewisser Muster zu erkennen versuchen, wie wichtig oder unwichtig bestimmter Verkehr ist. Hier sind die Übergänge zu den Firewalls, wo schädliche Ströme anhand ihrer Charakteristika herausgefiltert bzw. blockiert werden, fließend. 2.2 Zugangskontrolle (Admission Control) und Traffic Shaping Durch Admission Control (AC) wird versucht, die aktuelle Auslastung des Routers oder Netzes zu ermitteln. Falls nicht genügend Ressourcen zu Verfügung stehen, kann AC einschreiten und Sitzungen unterbinden. Wie dies von statten gehen kann, wird ausführlich in Kapitel 3.1 erläutert. Wenn man davon ausgeht, dass das Paket klassifiziert wurde und auch durch die AC legitimiert wurde, dann ist ein häufiges Anliegen der Netzbetreiber, den Verkehr zu glätten. Der Grund hierfür ist die Sendecharakteristik von paketbasierten Diensten. Häufig werden die Daten nicht gleichmäßig, sondern in so genannten Bursts gesendet. Bursts treten als Welle im sonst gleichmäßigen Datenverkehr auf. Dies hängt häufig mit dem TCP Protokoll zusammen, dessen Bestreben es ist, eine möglichst hohe Datenrate zu erlangen. Treffen nun mehrere solcher Bursts zum gleichen Zeitpunkt bei einem Router ein, kann dieser unter Umständen überlastet werden, obwohl im Durchschnitt genügend Ressourcen vorhanden sind. Eine mögliche Lösung ist hierfür, 4

2.2 Zugangskontrolle (Admission Control) und Traffic Shaping Eingangspakete Ausgangspakete Abbildung 2.1: Traffic-Shaping mit dem Leaky Bucket Filter. dass der Router beim Weiterreichen der Pakete den Verkehr glättet. Dadurch werden die nachfolgenden Router entlastet. Diesen Schritt nennt man Traffic- Shaping. Die zwei Mechanismen, die am häufigsten eingesetzt werden, sind in den folgenden Abschnitten erläutert. 2.2.1 Leaky Bucket Filter Bei diesem sehr einfache Traffic-Shaper handelt es sich im Prinzip um einen Puffer, der mit gleich bleibender Rate Pakete weitergibt. Wie der Name sagt, kann man sich einen Eimer mit einem Leck vorstellen. Anstatt des Wassers treffen die Datenpakete mit normalerweise variierender Datenrate ein. Da das Loch aber immer nur Pakete mit einer festen Datenrate abgeben kann, läuft der Eimer entweder voll, dies ist der Fall wenn mehr Pakete eintreffen als abfließen können, oder aber der Eimer läuft leer, wenn mehr Pakete versendet werden können als eintreffen. Abbildung 2.1 soll den Vorgang veranschaulichen. Wenn nun der Eimer voll ist, und ein überzulaufen droht, setzen die so genannten Discarding- Techniken ein, welche im Laufe dieses Kapitels noch angesprochen werden. Mit dem Leaky Bucket Filter, wird ein sehr straffes Shaping durchgeführt, da die Datenrate auf ein Niveau gebracht wird und keine Varianz zulässt. 2.2.2 Token Bucket Filter Vom Prinzip her ist der Token Bucket (TB) dem Leaky Bucket sehr ähnlich (siehe Abbildung 2.2), aber anstatt den Verkehr auf eine konstante Rate zu trimmen, werden auch Bursts in einem gewissen Rahmen unterstützt. Hierfür wird der Eimer mit so genannten Tokens gefüllt. Diese treffen mit einer konstanten Rate ein und sind einem Fahrschein nicht unähnlich. Solange Tokens vorrätig sind, können Pakete versendet werden und zwar mit der Geschwindigkeit, mit der sie 5

2.3 Queuing und Scheduling im Router eintreffen. Wenn über einen Zeitraum keine Pakete eintreffen, läuft der Puffer mit Tokens voll. Diese überzähligen Tokens können nachher für das Senden von höhreren Datenraten eingesetzt werden. Starkes Glätten kommt somit nur vor, wenn über einen längeren Zeitraum die Token-Rate überschritten wird. TB wird sehr gerne eingesetzt, wenn Bursts erlaubt sein sollen, zum Beispiel bei TCP-Acks, aber längere Ströme, wie sie zum Beispiel bei Downloads auftreten, gekappt werden sollen. Token mit konstaner Rate Eingangspakete Ausgangspakete Abbildung 2.2: Traffic-Shaping mit dem Token Bucket Filter. 2.3 Queuing und Scheduling Mit Queuing werden die unterschiedlichen Techniken bezeichnet, die dem Router zur Verfügung stehen um Datenpakete zu puffern. Dabei werden per Scheduling die Pakete auf die Queues verteilt. Scheduling ist auch dafür zuständig, die Reihenfolge der Pakete umzuordnen bzw. die Weiterleitung zu regeln. In diesem Abschnitt sollen die folgenden Techniken erläutert werden: First-in, first-out (FIFO) Priority Queuing (PQ) Fair Queuing (FQ) Weigthed Fair Queuing (WFQ) 2.3.1 FIFO-Queuing Dies ist die einfachste Technik des Queuings und wird von jedem Router unterstützt. Der Router muss hierfür nur über einen einfachen Puffer verfügen, in den er die eintreffenden Pakete ihrer Ankunft entsprechend einordnet (siehe Abbildung 2.3). FIFO-Queuing ist äußerst schnell und 6

2.3 Queuing und Scheduling Flow 1 5 Flow 2 2 Flow 3 Flow 4 Flow 5 6 4 Multiplexer 6 5 FIFO Queue 4 3 2 1 Port Flow 6 Flow 7 3 Flow 8 1 Abbildung 2.3: Pakete werden ihrem Eintreffen nach in eine FIFO-Queue eingeordnet [1]. kann auch von Software-basierten Routern ohne weiteres umgesetzt werden. Des Weiteren kann die Verzögerungszeit d eines jeden Paketes einfach ermittelt werden, da jedes Paket maximal d = pb Zeit benötigt, um den Router zu passieren. Dabei steht b für die Puffergröße im Router und p für die Verarbeitungszeit eines jeden Paketes. Die Nachteile von FIFO sind zum einen, dass Pakete nicht differenziert verarbeitet werden können, da sie nacheinander in den Puffer geschoben werden. Jedes Paket wird somit gleich behandelt, was beim Einsatz von großen Puffern in Verbindung mit interaktiven Diensten zu großen Delays führen kann. Auch Jitter ist möglich, wenn die Belastung des Routers sich über einen Zeitraum stark ändert. Zum anderen können im Staufall (Congestion) Protokolle wie TCP, die sich an die Verkehrsbedingungen anpassen, verhungern. Dies ist besonders der Fall, wenn große Teile des restlichen Verkehrs aus UDP-Paketen bestehen, die nicht an die aktuelle Verkehrssituation angepasst werden und so die TCP-Ströme verdrängen [8]. 2.3.2 Priority-Queuing (PQ) Mit dieser Technik werden, wie der Name schon sagt, unterschiedliche Prioritäten bei der Verarbeitung der Pakete genutzt. Dies geschieht dadurch, dass die Pakete auf mehrere parallel geschaltete Puffer verteilt werden. Die Aufteilung geschieht dabei gemäß der Klassifizierung der Pakete (siehe Abschnitt 2.1). Für das Weiterleiten der Pakete wählt der Scheduler immer die diejenigen aus, die der Queue mit der höchsten Priorität zugeordnet wurden. Damit besitzen Pakete aus diesem Puffer den geringsten Delay, welcher sich wie beim FIFO berechnen lässt. Der Nachteil dieser Technik liegt darin begründet, dass keine andere Queue abgearbeitet wird, solange sich in der höchstprioren Queue Pakete befinden. Gesetzt den Fall, dass ein großer Anteil des Verkehrsaufkommens aus solchen Paketen besteht, kann es vorkommen, dass der restliche Datenverkehr zum Erliegen kommt, da die restlichen niederprioren Puffer volllaufen und mit dem 7

2.3 Queuing und Scheduling Flow 1 Flow 2 Classifier Highest Priority Flow 3 Flow 4 Middle Priority Scheduler Port Flow 5 Flow 6 Lowest Priority Flow 7 Flow 8 Abbildung 2.4: Pakete werden ihrer Priorität nach in die Priority Queue eingeordnet [1]. Discarding (siehe Abschnitt 2.5) beginnen. Das bei FIFO aufgezeigte Problem mit der Konkurrenz zwischen TCP- und UDP-Strömen lässt sich mit PQ sehr elegant lösen, indem man TCP-Verkehr eine höhere Priorität als dem UDP- Verkehr einräumt. Da aber TCP alle verfügbare Bandbreite akkumuliert, muss sichergestellt werden, dass die maximale Bandbreite des höchstprioren Verkehrs per Traffic-Shaping begrenzt wird; ansonsten geht die Bandbreite der niederprioren Queues gegen Null. Hierbei zeigt sich, dass schon bei diesen einfachen Verfahren das Zusammenspiel der Komponenten äußerst wichtig und komplex werden kann. 2.3.3 Fair-Queuing (FQ) Dieses Verfahren wirkt der Monopolisierung einzelner Ströme, wie dies bei PQ auftreten kann, entgegen. Um dies zu erreichen, werden die Pakete gemäß ihrer Verbindungszugehörigkeit vom Klassifizierer (Classifier) auf die Queues verteilt (siehe Abbildung 2.5). Danach entnimmt der Scheduler jeder Queue der Reihe nach ein Paket und verarbeitet dieses (Round-Robin Prinzip). Der Vorteil hierbei ist, dass Paketbursts nicht alle Ströme beeinflussen, sondern immer nur die Queue des dazugehörigen Stroms. FQ wird häufig in Edge-Routern, also den Routern an den Rändern des Kernnetzes, eingesetzt, um die Bandbreite zwischen den zulaufenden Verbindungen gerecht zu verteilen. Leider funktioniert FQ nur optimal, wenn die Pakete aller Ströme dieselbe Größe besitzen. Andernfalls wird Strömen mit großen Paketen verhältnismäßig mehr Bandbreite zugesprochen. Das Aufteilen von Strömen ist mitunter sehr kompliziert. Dafür muss beantwortet werden, ob zum Beispiel nach IP-Quelladressen, TCP-Verbindungen oder anderen Merkmalen sortiert werden soll. Im ersten Fall wären unter Umständen Webserver gegenüber einzelnen Desktop-Systemen benachteiligt, da Erstere meist eine wesentlich höhere Anzahl an Verbindungen aufrecht erhalten. 8

2.3 Queuing und Scheduling Flow 1 Flow 2 Flow 3 Classifier Scheduler Flow 4 Flow 5 Port Flow 6 Flow 7 Flow 8 Abbildung 2.5: Beim Fair-Queueing werden die Pakete vom Classifier auf die Queues verteilt [1]. Bei der Betrachtung der TCP-Verbindung müssen die Paket-Inhalte genauer untersucht werden, was die Verarbeitungszeit erhöht. Aus diesem Grund wird FQ häufig in Software realisiert, worunter aber die Performance leidet. Ein weiteres Manko von FQ stellt der Mangel dar, dass einzelne Ströme nicht priorisiert werden können, da jede Queue vom Scheduler gleich häufig besucht wird. Die am häufigsten eingesetzte Variante von FQ ist das Stochastic-Fair Queuing (SFQ). Dabei werden die Ströme per Hash-Funktion auf die Queues aufgeteilt. Die Anzahl der Queues ist bei SFQ dabei limitiert, was den Speicherbedarf reduziert. Der Hashwert wird über die Paketparameter IP-Quellen- und Zieladresse, die Portnummer, sowie das eingesetzte Protokoll gebildet. Da die Hash-Funktion äußerst effizient arbeitet, ist SFQ dem reinen Fair-Queuing in der Verarbeitungszeit überlegen. Um zu verhindern, dass manchen Queues mehr Pakete durch den Classifier zugeordnet werden, wird der Algorithmus von Zeit zu Zeit stochastisch abgewandelt. Diese Änderung geschieht periodisch und verhindert grobe Unfairness zwischen den Strömen. Dies bringt aber den Nachteil mit sich, dass es bei starker Auslastung unter Umständen zu Verwürfelung der Paketreihenfolge kommt, was es besonders bei interaktiven Diensten zu vermeiden gilt. 2.3.4 Weigthed Fair Queuing (WFQ) Da FQ nur eingeschränkt als fair bezeichnet werden kann und auch keine Priorisierung erlaubt, wurde WFQ entwickelt. Bei diesem relativ komplexen Algorithmus werden die Eigenschaften von PQ und FQ vereint. Dies geschieht dadurch, dass jeder Queue eine garantierte Bandbreite und jedem Paket ein Auslieferungszeitpunkt zugeteilt wird. Dieser Zeitpunkt wird bezüglich der Queue, in der sich das Paket befindet, und gemäß der Paketlänge ermittelt. Der WFQ-Algorithmus arbeitet nun die Pakete in der Reihenfolge der Zeitmarken ab. Dabei kommt es weder zu einer 9

2.4 Erweiterte hierachische Queuing Mechanismen Queue 1 (5% b/w) 9 5 3 Queue 2 (25% b/w) Packet A Scheduler Order of Packet Transmission 145 11 7 Port 19 155 145 135 11 9 7 5 3 Packet B Queue 3 (25% b/w) 19 155 135 Packet C Finish Time Abbildung 2.6: Weigthed Fair Queuing ordnet jedem Paket einen Sendezeitpunkt zu [1]. ungewollten Bevorteilung einer Queue, da allen Queues im vorhinein eine Bandbreite zugesprochen wurde, noch haben die Paktegrößen Auswirkung auf die Fairness des Verfahrens, da sie mit einkalkuliert wurden (siehe Abbildung 2.6). Das Problem bei diesem Verfahren ist die sehr hohe Komplexität. Der Algorithmus muss genau Buch führen, wie viel Bandbreite eine Queue aktuell konsumiert hat und wie sich das nächste Paket auf die Zukunft auswirkt, damit der Auslieferungszeitpunkt exakt bestimmt werden kann. Aus diesem Grund wird WFQ nur in Routern mit limitierter Anzahl an Strömen eingesetzt und die Skalierbarkeit ist begrenzt. 2.4 Erweiterte hierachische Queuing Mechanismen Die einzelnen Queuing-Techniken haben alle ihre Vor- und Nachteile, die hier in Tabelle 2.1 noch einmal verdeutlicht werden sollen. In ihrer Reinform sind diese Techniken häufig nur in einfachen Router-Konfigurationen anzutreffen. Wenn komplexe Verkehrsstrukturen verlangt werden, wie das der Fall bei der Aufteilung der verfügbaren Bandbreite auf mehrere Kunden, die selbst wiederum zwischen verschiedenen Diensten unterscheiden, müssen zusätzliche Techniken genutzt werden. Hierbei spielen die hierarchischen Verfahren eine große Rolle, die wegen ihrer Komplexität meist auf Software-Routern eingesetzt werden. Die zwei am häufigsten genutzten Techniken sind der Hierachical Token Bucket (HTB) und die Hierachical Fair Service Curve (HFSC). Dabei ist Ersteres das unter Linux in Verbindung mit Traffic-Control (siehe Abschnitt 2.6) am häufigsten eingesetzte Verfahren, und HFSC komm meist auf Unix-Routern in Verbindung mit dem ALTQ-Framework (siehe Abschnitt 2.7) zum Einsatz. Das bedeutet nicht, dass HFSC nicht auch unter Linux von Traffic-Control unterstützt wird. Dessen Handhabbarkeit ist aber eher eingeschränkt mangels Unterstützung durch Traffic- Control NextGeneration (TCNG). 1

2.4 Erweiterte hierachische Queuing Mechanismen Queue Vorteile Nachteile FIFO Sehr einfache Umsetzung Keine Service-Klassen realisierbar Keine Umordnung der Paketreihenfolge Keine Fairness zwischen den Strömen Eigenschaften und Verhalten vorhersehbar Im Staufall werden alle Ströme betroffen PQ Relativ einfacher Algorithmus Keine Fairness Unterstützung von Service-Klassen Niederpriore Ströme können verhungern FQ Unterstützung von Service-Klassen Pakete müssen die selbe Größe besitzen Bursts haben keinen Einfluß auf andere Keine Realtime-Garantie Ströme Aufteilung der Bandbreite zwischen vielen Strömen Keine Zuweisung von Bandbreiten für einen Strom möglich Hohe Komplexität WFQ Zuweisung von Bandbreiten für Klassen möglich Hohe Komplexität Tabelle 2.1: Vor- und Nachteile der gängigsten Queuing Verfahren [8]. 2.4.1 Hierachical Fair Service Curve (HFSC) Die Aufteilung der verfügbaren Bandbreite eines Netzzugangs ist ein wichtiger Aspekt von Traffic- Control, aber gerade bei Echtzeit-Diensten wie VoIP, Video-Conferencing und IPTV sind die Laufzeitverzögerungen der Verbindung unter Umständen wichtiger als garantierte Bandbreiten. Eine bessere Nutzung der Leitung bei bandbreiten-intensiven Anwendungen, sowie interaktiven Diensten soll mit dem Hierachical Fair Service Curve (HFSC) Algorithmus [11] möglich sein. Um dies zu erreichen, werden bei HFSC die Ressourcen-Bandbreite, sowie Delay getrennt voneinander betrachtet. HFSC definiert dafür eine sogenannte Servicecurve S(t), welche die geleistete Arbeit (Service) zu einem Zeitpunkt t repräsentiert. Die Steigung dieser Kurve entspricht dabei der garantierten Senderate. Im einfachsten Fall handelt es sich bei S(t) um eine lineare Funktion, wie sie in Abbildung 2.8 in der linken Grafik zu sehen ist. Da eine lineare Servicecurve nur über eine Variable, nämlich die veränderliche Steigung, verfügt, kann mit ihr keine Trennung von Delay und Bandbreite erreicht werden. Erst mit der Verwendung einer nicht-linearen Funktion können die Ressourcen differenziert behandelt werden. Theoretisch können dabei alle steigenden nicht-linearen Funktionen als Servicecurves eingesetzt werden. Praktisch kommt aber nur die stückweise-lineare S(t) zum Einsatz, da diese mit wenigen Parametern definiert werden kann [9]. Die möglichen Parameter einer solchen Servicecurve, wie in der rechten Grafik der der Abbildung 2.8 gezeigt, sind: 11