Traffic Control & QoS mit Linux 2.4 Heiko Reese. Traffic Control & QoS mit Linux " Was? " Warum? " Wie? " Wie genau? " So geht das (Beispiele)! " Und.

Slides:



Advertisements
Ähnliche Präsentationen
1000 Km bis zum Meer. “1000 Km to the sea” Luxuslärm
Advertisements

Durch die Nacht “through the night” Silbermond
Don`t make me think! A Common Sense Approach to Web Usability
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
Christoph Durt: Wittgenstein on the possibility of philosophy: The importance of an intercultural approach
You need to use your mouse to see this presentation
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
To want to To have to To be able to To be allowed to To be supposed to
 Every part in a sentence has a grammatical function. Some common functions are: - Subject - Verb - Direct object / accusative object - Indirect object.
Moin! Heute ist der 11. März. 1. Jetzt: Kleidung Quiz 2! der Anzugdie Jeans die Sockedie Shorts die Blusedas Sweatshirt die Unterwäscheder Hut der G ürtel.
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Networking on local area knowledge of territory-continuous presence in community (family-centre – people centre – key locations)
Review of Verb Tense & Expressing Opinions
Kapitel 4 Alles für die Schule Lernziel: Formation of Plural.
Die Fragen Wörter Wer? Was? Wann?.
Die Vergangenheit – the past Das Perfekt – spoken past tense.
Weak pushover verbs..... lieben kaufen spielen suchen....are verbs that do exactly as they are told. They stick to a regular pattern that does not change!
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
You need to use your mouse to see this presentation © Heidi Behrens.
What is a “CASE”? in English: pronouns, certain interrogatives
A Quick Review. What are the four prepositions used most commonly in this chapter to talk about vacations. an auf in nach.
Possessive Adjectives How to show belonging… The information contained in this document may not be duplicated or distributed without the permission of.
You need to use your mouse to see this presentation.
What is a “CASE”? in English: pronouns, certain interrogatives
Ordering Food A Guide. Im Restaurant An actual restaurant is the chance to use more formal ordering. “Ich hätte gern eine Pizza.” “Ich möchte eine Cola.”
How does the Summer Party of the LMU work? - Organizations and Networks -
type / function / form type of words:
Schreiben Sie fünf Sätze aus diesen Elementen. [Beispiel
GERMAN WORD ORDER ORDER s. Sentences are made up by placing a variety of words in a specific order. If the order is wrong, the sentence is difficult to.
The Journey to America… The Immigrant Experience.
COMMANDS imperative There are three command forms: formal familiar singular familiar plural.
COMMANDS imperative 1. you (formal): Sie 2. you (familiar plural): ihr
Modal auxiliaries Chris can read the book. (has the ability to) Chris may read the book (is allowed to) Chris must read the book (has to) Chris should.
Studentenstreik 2009, 2010 in Deutschland Part 1: Studiengebühren.
You need to use your mouse to see this presentation © Heidi Behrens.
Studentenstreik 2009, 2010 in Deutschland Part 1: Studiengebühren.
Montag den 8. Juni Lernziel:- To launch a project and receive results.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
Imperfekt (Simple Past) Irregular or strong verbs
Memorisation techniques
Kapitel 8 Grammar INDEX 1.Command Forms: The Du-Command Form & Ihr- Command 2.Sentences & Clauses.
Übung Macht den Meister! (Practice Makes Perfect!)
Here‘s what we‘ll do... Talk to the person sitting in front of you. Introduce each other, and ask each other questions concerning the information on your.
Großvater Großmutter Großvater Großmutter Tante/Onkel Vater Mutter.
Die toten hosen German punk rock band since thirty years With many well known hits.
On the case of German has 4 cases NOMINATIVE ACCUSATIVE GENITIVE DATIVE.
German “ da - compounds ” Provided by deutschdrang. com for individual and classroom use only. May not be reproduced for any other purposes.
Die Vergangenheit Das Perfekt unregelmäßige Verben.
Indico Meeting Dennis Klein 4. August Übersicht  Korrespondenz CERN  Trouble Ticket Queue  Integration GSI-Accounts  Subversion & Wiki  Todo.
Fitness. An english presentation.
Sentence Structure Questions
FREE ICONS POWERPOINT TEMPLATE.
Freizeit Thema 5 Kapitel 1 (1)
Du bist am dicksten und am dümmsten.
you: ihr ( familiar plural ) you: du ( familiar singular)
Jetzt machen Venues aufmachen!!! Geh zu
You need to use your mouse to see this presentation
THE PERFECT TENSE IN GERMAN
Wie viel Uhr ist es? Telling Time.
Was ist die Verbindung hier?
type / function / form type of words:
- moodle – a internet based learning platform
 Präsentation transkript:

Traffic Control & QoS mit Linux 2.4 Heiko Reese

Traffic Control & QoS mit Linux " Was? " Warum? " Wie? " Wie genau? " So geht das (Beispiele)! " Und was gibt's da sonst noch?

Was? " Linux bringt fast alles mit für denjenigen, der seinen Traffic • begrenzen will • einteilen will • an spezielle Anforderungen bezüglich Bandbreite oder Prioritäten anpassen will " es existieren noch weitere alternative Möglichkeiten, Traffic zu beeinflussen (z.B. diffserv, userspace-shaping deamons)

Warum? " Kosten bei entsprechenden Tarifen " Fairness bei mehreren Benutzern sicherstellen " Komfort (z.B. SSH priorisieren, damit's nicht so träge ist) " Andere Leute ärgern " Fun "...

Wie? " QoS beim kompilieren des Kernels aktivieren ändern der Parameter mittels tc irgendwo in den Startup- Skripten " evtl. noch an der Firewall basteln

Wie genau? " Weg eines Pakets durch den Kernel: Input de-multiplexingForwardingOutput queuing Höhere Layer (TCP, UDP,...) Hier setzen wir an " Wir können nur Pakete beeinflussen, die wir selber verschicken!

Wie genau #2? Zitat aus dem Linux Advanced Routing & Traffic Control HOWTO: With the way the internet works, we have no direct control of what people send us. It's a bit like your (physical!) mailbox at home. There is no way you can influence the world to modify the amount of mail they send you, short of contacting everybody. However, the internet is mostly based on TCP/IP which has a few features that help us. TCP/IP has no way of knowing the capacity of the network between two hosts, so it just starts sending data faster and faster ('slow start') and when packets start getting lost, because there is no room to send them, it will slow down. In fact it is a bit smarter than this, but more about that later. This is the equivalent of not reading half of your mail, and hoping that people will stop sending it to you. With the difference that it works for the Internet :-)

Queuing Disciplines " Eine qdisc sendet in letzter Instanz die Pakete für ein Netzinterface " Es gibt simple classless qdiscs und verschachtelbare class- based qdiscs " letzere können mit der Firewall (ipchains, iptables) kombiniert werden

Classless qdiscs " Pakete werden nur: • weitergeleitet • Umsortiert • verzögert • verworfen " Jedem Netzinterface wird standartmässig die qdisc pfifo_fast zugewiesen

Classless qdisc: pfifo_fast " eine einfache FIFO, die aus mehrern priorisierten Bändern (bands) besteht " Pakete werden nach einer einfachen priority map (TOS-Flag wird überprüft) einsortiert " solange noch Pakete in Band 0 vorhanden sind, werden Band 1... nicht abgearbeitet " die Anzahl der Bänder und die priority map können mit tc verändert werden, die Länge der Bänder muss beim Anlegen des Netzinterfaces angegeben werden (also mit ifconfig oder ip)

Classless qdisc: Token Bucket Filter " Packete werden nur bis zu einem bestimmten Datendurchsatz weitergeleitet, alles darüber wird verworfen " Kleine Bursts sind erlaubt " tbf ist sehr präzise sowie netzwerk- und prozessorfreundlich. Es stellt die beste Möglichkeit dar, die Geschwindigkeit eines Netzinterfaces zu verringern. " Algorithmus: Ein Puffer (bucket) wird mit einer bestimmten Rate (token rate) mit sog. tokens gefüllt. Jedes Token schnappt sich ein Paket und wird aus dem bucket entfernt. " Sehr gut geeignet in Kombination mit einem DSL-Modem, um bei vielen Uploads die Latenz niedrig zu halten...

Classless qdisc: sfq (Stochastic Fair Qeueing) " Jede Session (TCP-Session oder UDP-Stream) bekommt eine eigene FIFO. " Alle FIFOs werden per Round Robin abgearbeitet " Realisierung: Eine Hashfunktion verteilt alle Sessions auf wenige FIFOs. " Um eine faire Verteilung der Sessions auf die FIFOs zu gewährleisten, wird nach einer kurzen Zeit (default: 10sec) die Hashfunktion ausgewechselt.

Ratschläge zur Benutzung (aus dem Adv-Rout Howto geklaut) " Summarizing, these are the simple queues that actually manage traffic by reordering, slowing or dropping packets. " The following tips may help in chosing which queue to use. It mentions some qdiscs described in the 'Advanced & less common queueing disciplines'. • To purely slow down outgoing traffic, use the Token Bucket Filter. Works up to huge bandwidths, if you scale the bucket. • If your link is truly full and you want to make sure that no single session can dominate your outgoing bandwidth, use Stochastical Fairness Queueing. • If you have a big backbone and know what you are doing, consider Random Early Drop (see Advanced chapter). • To 'shape' incoming traffic which you are not forwarding, use the Ingress Policer. • If you *are* forwarding it, use a TBF on the interface you are forwarding the data to. • If you don't want to shape, but only want to see if your interface is so loaded that it has to queue, use the pfifo queue (not pfifo_fast). It lacks internal bands but does account the size of its backlog.

Classful Queueing Disciplines " Manche qdiscs können andere qdiscs enthalten, diese heissen dann plötzlich classes, inner qdisc oder sub-qdisc. " Sub-qdiscs müssen sich die Bandbreite ihrer äusseren qdisc teilen " Traffic wird durch sog. filter auf die classes verteilt. " Classful qdiscs werden in einem Baum angeordnet " Jede qdisc bekommt eine eindeutige Nummer, bestehend aus einer Major-Number und einer Minor-Number; z.B. 1:10 " Jedes Interface hat mindestens eine root-qdisc mit der ID 1:

1: 1:1 10: 11:1 12: 10:110:212:112:2 Beispiel: Klassenhierarchie " Die Hierarchie legt nur fest, welche qdiscs welche Klasseneigenschaften übernehmen (Bandbreite u.ä.). " Der Weg der Pakete wird nur über die Filter gesteuert

PRIO qdisc " Ähnlich pfifo_fast, nur das die einzelnen Bänder wieder qdiscs sind " Aufteilung wieder über TOS-Field " Macht zusätzlich Accounting, kann also leicht für Messungen/Benchmarks verwendet werden

CBQ qdisc " almost famous " Kompliziert " Ungenau " Unschön " Basiert auf Idletime-Berechnungen, setzt genau Kenntnis des Interfaces voraus (Probleme z.B. bei PCMCIA-Karten) " Alternative: HTB

HTB qdisc " Hierarchical Token Bucket (Classful Token Bucket Filter) " Ist nicht Bestandteil vom Kernel, muss also als Patch hinzugefügt werden " Benötigt nur wenige Parameter • rate: die gewünschte Übertragungsrate • ceil: die maximale Übertragungsrate • burst: wieviel darf kurzzeitig überzogen werden " Die Verhältnisse der inner qdiscs werden bei Überlast weniger inner qdiscs berücksichtigt.

Filter: Übersicht " Filter werden an qdiscs gehängt und beim Einfügen von Paketen der Reihe nach abgearbeitet, bis eine Regel zutrifft oder nicht (dann geht's in die Defaultqeue) " Filter können auf fast alles reagieren • Alle Felder im TCP Header • Auf markierte Pakete: ipchains und iptables können Pakete markieren, diese Markierung kann dann später zum Einsortieren verwendet werden • Routing Table (Linux kann mehrer Routingtabellen verwenden) • Eigene Filter können leicht geschrieben werden

Alternativen " DSMARK, Ingress Policer, RED,... (siehe [1]) " Diffserv " es gibt einen Shaperdeamon im Userspace, ich hab aber die URL nicht mehr gefunden :-) " Kabel von Alex W. verwenden

Beispiele " Jetzt im Real Life! "... oder in der Doku.

Anhang: Quellen und Anregungen " Linux Advanced Routing & Traffic Control • " HTB Linux queuing discipline • • • " Linux Network Traffic Control - Implementation Overview - Werner Almesberger • ftp://icaftp.epfl.ch/pub/people/almesber/pub/tcio-current.ps.gz ftp://icaftp.epfl.ch/pub/people/almesber/pub/tcio-current.ps.gz " Linux - Advanced Networking Overview: QoS Support in Linux • " Introduction to Linux Advanced Routing and Traffic Management • " Paketfilter für QoS unter Linux • " Differentiated Services on Linux • " Ein paar allgemeine Links • " Dynamische Bandbreitenbeschränkung mit Linux • " Paketfilter für QoS unter Linux • " QoS-Fähigkeit in Endsystemen • " Traffic Control Next Generation • " IP Command Reference • " TC Docs • " Linux QoS & tc • " Docum • " Der Link is net so ganz erst gemeint: • " An API for Linux QoS Support • " Traffic Shaping • " "