Grundkurs Routing im Internet mit Übungen Falko Dressler, Ursula Hilgers {Dressler,Hilgers}@rrze.uni-erlangen.de Regionales Rechenzentrum der FAU Dressler, Hilgers, Regionales RechenZentrum Erlangen 1 Grundkurs Routing … Tag 5 • Mechanismen zur Dienstgütebereitstellung in Routern – QoS – QoS & IP – Differentiated Services • Bandbreitenkontrolle • Scheduling • Verhinderung von Überlast – Konfiguration Dressler, Hilgers, Regionales RechenZentrum Erlangen 2 Grundkurs Routing … QoS (I) • Dienstqualität (Quality of Service, QoS): Eigenschaften bei der Ausführung eines Dienstes aus der Sicht eines Benutzers (auf Ende-zu-Ende Basis) Dienst: Telnet-Verbindung, Videokonferenz • objektive (messbare) oder subjektive Eigenschaften – objektiv: Durchsatz, Delay, Jitter, .. – subjektiv: Qualität des Bildes/Tons Dressler, Hilgers, Regionales RechenZentrum Erlangen 3 Grundkurs Routing … QoS (II) • Dienstintegration im Internet: Datenübertragung verschiedener Applikationen über das IPProtokoll: Best-Effort“ keine Garantien für die Datenübertragung • Neue Anforderungen durch „Echtzeit“Applikationen (Bsp.: hochqualitative Multimedia-Anwendungen) • QoS versus Class of Service (CoS): – QoS: absolute Delay-, Durchsatz-, ... Garantien für einen Verkehrstrom unabhängig vom Verhalten anderer Ströme – CoS: relative Garantien (Probleme bei Überlastung des Netzwerks) Dressler, Hilgers, Regionales RechenZentrum Erlangen 4 Grundkurs Routing … QoS (III) Überlast Dressler, Hilgers, Regionales RechenZentrum Erlangen 5 Grundkurs Routing … QoS (IV) Dressler, Hilgers, Regionales RechenZentrum Erlangen 6 Grundkurs Routing … QoS (V) Dressler, Hilgers, Regionales RechenZentrum Erlangen 7 Grundkurs Routing … QoS (VI) Dressler, Hilgers, Regionales RechenZentrum Erlangen 8 Grundkurs Routing … QoS (VII) • Anwendungen mit unterschiedlichen Anforderungen Definition von Dienstklassen, die zwischen Kunde und Provider ausgehandelt werden und an den Netzwerkgrenzen zur Verfügung stehen: – Service Level Agreement (SLA) Enthalten Tarife, Sicherheitsaspekte und eine Beschreibung der technischen Parameter aller Dienste, die vom Provider angebotenen werden. Dressler, Hilgers, Regionales RechenZentrum Erlangen 9 Grundkurs Routing … QoS (VIII) • Beispiel für ein SLA: 3 Dienste werden zwischen Kunde und Provider ausgehandelt – Datenrate 2 Mbit/s, geringe Verzögerungen/Jitter (Anwendung: Telefonie) – Datenrate 40 Mbit/s, keine Verluste, Delay kleiner 100 ms (Anwendung: hochqualitative DialogVideoübertragung) – „Best-Effort“ (Anwendung: textbasierte Datenübertragung) Dressler, Hilgers, Regionales RechenZentrum Erlangen 10 Grundkurs Routing … QoS & IP (I) Dressler, Hilgers, Regionales RechenZentrum Erlangen 11 Grundkurs Routing … QoS & IP (II) • Anforderungen an die Netzwerkkomponenten: – Bandbreitenbegrenzung am Rande des Netzwerks zur Überwachung des SLA – Faires/Prioritätenbasiertes Scheduling (Videokonferenzen Datenübertragung) Klassifizierung – Überlastkontrolle Dressler, Hilgers, Regionales RechenZentrum Erlangen 12 Grundkurs Routing … QoS & IP (III) • „QoS“ in IP-Netzwerken: oft nur CoS relative Garantien in Abhängigkeit von der Belastung des Netzes • Verschiedene Ansätze entwickelt von der Internet Engineering Task Force (IETF): – Integrated Services • Resource Reservation Protocol (RSVP) – Differentiated Services (DiffServ) Dressler, Hilgers, Regionales RechenZentrum Erlangen 13 Grundkurs Routing … DiffServ (I) • Skalierbarer Mechanismus zur Dienstdifferenzierung Klassifizieren des Verkehrs und Aggregieren zu Dienstklassen (keine aufwendige Signalisierung pro Anwendungsfluss RSVP) • Konzept: – Klassifizieren und Markieren der Pakete und Überprüfung der SLAs (Verkehrsregulierung) – Zuweisung der Ressourcen im Router abhängig von der Dienstklasse (Scheduling, Buffer, ...) Dressler, Hilgers, Regionales RechenZentrum Erlangen 14 Grundkurs Routing … DiffServ (II) • unidirektional • Forderungen – keine Performance-Einbußen im Netzwerk durch DiffServ – keine Speicherung von Zuständen/Signalisierung ( Markierung) – keine Änderung der Applikationen Dressler, Hilgers, Regionales RechenZentrum Erlangen 15 Grundkurs Routing … DiffServ (III) • Definition von Service Level Specifications (SLS): Parameter die angebotene Dienste spezifizieren • Funktionalität der DiffServ-Router (am Rande des Netzes): – Aggregierung des Verkehrs – Überprüfung der Vertragskonformität – Komplexe Funktionen zur Klassifikation, Markierung, Verkehrsregulierung, .. Dressler, Hilgers, Regionales RechenZentrum Erlangen 16 Grundkurs Routing … DiffServ (IV) Dressler, Hilgers, Regionales RechenZentrum Erlangen 17 Grundkurs Routing … DiffServ (V) • Markieren „Best Effort“: 00000000 DSCP: Differentiated Services CodePoint Dressler, Hilgers, Regionales RechenZentrum Erlangen 18 Grundkurs Routing … DiffServ (VI) • Im Core des Netzes: Per Hop Behaviour auf Pakete anwenden in Abhängigkeit der Markierung im Paket Header • Abbildung: Dienstklasse im SLA Per Hop Behaviour (PHB) – Reservierung der Ressourcen im Router: Reservierung der Ressourcen für jede Dienstklasse entsprechend der Qualitätsanforderungen (Buffer, Bandbreite) – Queuemanagement und Scheduling – Überlastkontrolle Dressler, Hilgers, Regionales RechenZentrum Erlangen 19 Grundkurs Routing … DiffServ (VII) • Standardisierter PHB: – Assured Per Hop Behaviour – Expedited Per Hop Behaviour – (default) Dressler, Hilgers, Regionales RechenZentrum Erlangen 20 Grundkurs Routing … DiffServ (VIII) • Expedited Per Hop Behaviour (RFC 3246) – Low Loss / Delay – SLS enthalten Verkehrsprofile – Nicht konformer Verkehr wird verworfen – Bsp: Voice over IP Dressler, Hilgers, Regionales RechenZentrum Erlangen 21 Grundkurs Routing … DiffServ (IX) • Assured Per Hop Behaviour (RFC 2597) – 4 Klassen mit 3 verschiedenen Verwurfsprofilen – Belegung des DSCP-Bytes: Dressler, Hilgers, Regionales RechenZentrum Erlangen 22 Grundkurs Routing … DiffServ (X) • AF PHB f. – SLS werden vereinbart – Pakete mit niedriger Drop-Wahrscheinlichkeit werden geschützt vor solchen mit einer höheren – Menge des weitergeleiteten Verkehrs hängt ab von • Den für die Klasse allokierten Ressourcen • Der Last dieser Klasse • Der Drop Precedence – Keine Zusagen an das maximale Delay Dressler, Hilgers, Regionales RechenZentrum Erlangen 23 Grundkurs Routing … Scheduling (I) • FIFO-Queueing - First in, First out – effizientes Verfahren – negative Auswirkungen bei Anwendungsflüssen mit höherem Verkehrsaufkommen • Fair Queueing – Gleichbehandlung für jede Dienstklasse, da gleicher Anteil an Ausgangsbandbreite – Benachteiligung von kleinen Paketen Dressler, Hilgers, Regionales RechenZentrum Erlangen 24 Grundkurs Routing … Scheduling (II) • Flow: virtuelle Verbindung Alle Pakete mit der gleichen Source/Destination IP-Adresse und Port-Nummer und Protokoll-ID • Alle Pakete eines Flows werden der gleichen Dienstklasse zugewiesen ToS Feld im IP-Header wird entsprechend markiert Dressler, Hilgers, Regionales RechenZentrum Erlangen 25 Grundkurs Routing … Scheduling (III) • Weighted Fair Queueing (WFQ): jeder Warteschlange wird ein Gewicht zugeteilt, das den Anteil an Ausgangsbandbreite bestimmt Parekh (1992) • • • • Bandbreitengarantie Isolation von Flows Fairness maximale Grenze fürs Delay (Token Bucket regulierter Verkehrsstrom) Dressler, Hilgers, Regionales RechenZentrum Erlangen 26 Grundkurs Routing … Überlastkontrolle (I) • Buffer und Queues werden von Netzwerkelementen als temporäre Zwischenspeicher für Daten verwendet, die darauf warten, übertragen zu werden • Buffer und Queues füllen sich, wenn der Router die Daten nicht schnell genug übertragen kann Dressler, Hilgers, Regionales RechenZentrum Erlangen 27 Grundkurs Routing … Überlastkontrolle (II) • Verwurfsstrategien: Random Drop Drop Tail – Tail Drop: Standard Verhalten im Netzwerk ankommende IP-Pakete werden verworfen, wenn Queue voll ist TCP-Verbindungen reduzieren Senderate „Slow Start“ (Mechanismus zur Überlastkontrolle) „globale Synchronisation“ – Random Drop: zufälliges Verwerfen, bevor Queue überläuft Random Early Detect (RED): Mechanismus zur Vermeidung von Überlast Dressler, Hilgers, Regionales RechenZentrum Erlangen 28 Grundkurs Routing … Überlastkontrolle (III) • RED beobachtet die durchschnittliche Queuelänge und verwirft ggf. Pakete aus ausgewählten Anwendungsflüssen einzelne TCP-Flows reduzieren ihre Übertragungsrate • RED geringes Delay und maximaler Durchsatz (Verhinderung von globaler Synchronisation) Dressler, Hilgers, Regionales RechenZentrum Erlangen 29 Grundkurs Routing … Überlastkontrolle (IV) Dressler, Hilgers, Regionales RechenZentrum Erlangen 30 Grundkurs Routing … Überlastkontrolle (V) • Wenn ein Paket ankommt 1. The average queue size is calculated. 2. If the average is less than the minimum queue threshold, the arriving packet is queued. 3. If the average is between the minimum queue threshold for that type of traffic and the maximum threshold for the interface, the packet is either dropped or queued, depending on the packet drop probability for that type of traffic. 4. If the average queue size is greater than the maximum threshold, the packet is dropped. Dressler, Hilgers, Regionales RechenZentrum Erlangen 31 Grundkurs Routing … Überlastkontrolle (VI) Verwurfswahrsc heinlichkeit 1 0 minth max th Dressler, Hilgers, Regionales RechenZentrum Erlangen 32 Durchschnittliche Länge der Warteschlange Grundkurs Routing … Überlastkontrolle (VII) • Weighted RED Verwurfswahrscheinlichkeit 1 0 minth 3 maxth3 minth2 Dressler, Hilgers, Regionales RechenZentrum Erlangen max th2 min th1 maxth1 33 durchschnittliche Länge der Warteschlange Grundkurs Routing … Konfiguration (I) • Auf Cisco-Routern: – Bandbreitenbegrenzung am Rande des Netzwerks (Admission Control): rate-limit – Scheduling: (weighted) faire-queue – Überlastkontrolle: random-detect • IOS 12.0.10(S) Dressler, Hilgers, Regionales RechenZentrum Erlangen 34 Grundkurs Routing … rate-limit (I) • Nur mit IP-Verkehr • Voraussetzung: Cisco Express Forwarding • (CEF) Klassifikation möglich für – eingehendes Router-Interface – einzelne Flows Pakete mit gleichen Eigenschaften (z.B. gleicher Zieladresse) werden herausgefiltert Filtern der Pakete ist auf Cisco Routern durch Access Listen (ACLs) realisiert Art der Implementation der ACLs (Software oder Hardware) hat entscheidenden Einfluss auf die Funktionalität des Klassifizierens Dressler, Hilgers, Regionales RechenZentrum Erlangen 35 Grundkurs Routing … rate-limit (II) • Realisierung durch einen Token Bucket: Formale Definition die Übertragungsrate festzulegen – Committed Burst Size – Durchschnittliche Rate (Mean Rate, Committed Information Rate (CIR), – Ankunftszeit Dressler, Hilgers, Regionales RechenZentrum Erlangen 36 Grundkurs Routing … Rate R der symbolischen Dateneinheiten (Token) Größe des Speicherbereichs B (Bucket) ankommendes IP-Paket Dateneinheit vorhanden? nein IP-Paket verwerfen ja IP-Paket weiterleiten rate-limit (IV) • Für den gesamten IP-Verkehr an einem Interface Step Command Purpose 1 interface interface-type interface-number Specify the interface or subinterface. This command puts the router in interface configuration mode. 2 rate-limit {input | output} bps burst-normal burst-max conform-action action exceed-action action Specify a basic CAR policy for all IP traffic.(action: see next slide) 3 end Exit interface configuration mode. Dressler, Hilgers, Regionales RechenZentrum Erlangen 38 Grundkurs Routing … rate-limit (V) Rate-Limit Command Action Keywords Description continue Evaluate the next rate-limit command. drop Drop the packet. set-prec-continue new-prec Set the IP Precedence and evaluate the next rate-limit command. set-prec-transmit new-prec Set the IP Precedence and transmit the packet. transmit Transmit the packet. Dressler, Hilgers, Regionales RechenZentrum Erlangen 39 Grundkurs Routing … Step Command Purpose 1 interface interface-type interfacenumber Specify the interface or subinterface -> configuration mode. 2 rate-limit {input | output} [accessgroup [rate-limit] acl-index] bps burst-normal burstmax conform-action action exceed-action action Specify the rate policy for each particular class of traffic. Repeat this command for each different class of traffic. 3 access-list acl-index {deny | permit} source [source-wildcard] or access-list acl-index {deny | permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [log] (Optional) Specify a standard or extended access list. Repeat this command to further configure the access list or specify a new access list. 4 end Exit interface configuration mode. rate-limit (VII) • Test: Wie wird die CPU des Router-Interfaces durch die Klassifikationsaufgabe belastet? • Cisco 7507, IOS 12.0.(10)S • Versatile Interface Boards im Router mit 155 MBit/s PoS Schnittstelle • Klassifikation wird an dem eingehenden Interface des Routers aktiviert Dressler, Hilgers, Regionales RechenZentrum Erlangen 41 Grundkurs Routing … rate-limit (VIII) • Der Verkehrsgenerator sendet UDP-Verkehr auf verschiedenen Flows mit einer Rate von 3 Mbit/s • Die Anzahl der Flows wird kontinuierlich gesteigert • Pakete der Größe 64, 429 und 4096 Byte • Die Klassifikation wird basierend auf den Zieladressen durchgeführt • Das Filtern wird mit Access Listen (ACLs) realisiert Dressler, Hilgers, Regionales RechenZentrum Erlangen 42 Grundkurs Routing … rate-limit (IX) Dressler, Hilgers, Regionales RechenZentrum Erlangen 43 Grundkurs Routing … faire-queue (I) • Pakete werden pro Flow klassifiziert (Flow: Pakete mit der gleichen IP Adresse, UDP/TCP Port und gleichem Protokoll) • Konfiguration: Command Purpose fair-queue [congestive-discardthreshold [dynamic-queues [reservable-queues]]] or fair-queue Configure an interface to use fair queueing. or Configure an interface to use fair queueing on a Cisco router using a VIP-based interface. Dressler, Hilgers, Regionales RechenZentrum Erlangen 44 Grundkurs Routing … faire-queue (II) congesti vediscardthreshol d (Optional) Number of messages allowed in each queue. The default is 64 messages, and a new threshold must be a power of 2 in the range 16 to 4096. When a conversation reaches this threshold, new message packets are discarded. dynamic (Optional) Number of dynamic queues used for best-effort -queues conversations (that is, a normal conversation not requiring any special network services). Values are 16, 32, 64, 128, 256, 512, 1024, 2048, and 4096. The default is 256. reserva blequeues (Optional) Number of reservable queues used for reserved conversations in the range 0 to 1000. The default is 0. Reservable queues are used for interfaces configured for features such as Resource Reservation Protocol (RSVP). Dressler, Hilgers, Regionales RechenZentrum Erlangen 45 Grundkurs Routing … faire-queue (III) • Monitoring von faire-queue Command Purpose show interfaces [interface] fair-queue Show information about an interface configured for WFQ and DWFQ. show queueing fair Show status of the fair queueing configuration. Dressler, Hilgers, Regionales RechenZentrum Erlangen 46 Grundkurs Routing … random-detect (I) • Aktivieren Command randomdetect Purpose Enable WRED. If you configure this command on a VIP interface, DWRED is enabled. Dressler, Hilgers, Regionales RechenZentrum Erlangen 47 Grundkurs Routing … random-detect (II) Command Purpose random-detect exponentialweightingconstant exponent Configure the weight factor used in calculating the average queue length. Exponent from 1 to 16 used in the average queue size calculation. The default exponential weight factor is 9. random-detect precedence precedence min-threshold max-threshold mark-probdenominator Configure parameters for packets with a specific IP Precedence. The minimum threshold for IP Precedence 0 corresponds to half the maximum threshold for the interface. Repeat this command for each precedence. To configure RED, rather than WRED, use the same parameters for each precedence. Dressler, Hilgers, Regionales RechenZentrum Erlangen 48 Grundkurs Routing … precedence IP precedence number. The value range is 0 to 7 and RSVP min-threshold Minimum threshold in number of packets. The value range of this argument is 1 to 4096. When the average queue length reaches the minimum threshold, WRED drops all packets with the specified IP precedence. max-threshold Maximum threshold in number of packets. The value range of this argument is the value of the min-threshold argument to 4096. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified IP precedence. mark-probdenominator Denominator for the fraction of packets dropped when the average queue depth is at the maximum threshold. For example, if the denominator is 512, one out of every 512 packets is dropped when the average queue is at the maximum threshold. The value range is 1 to 65536. The default is 10; one out of every ten packets is dropped at the maximum threshold. random-detect (IV) • Monitoring von RED Command Purpose show interfaces [interfacetype interface-number] randomdetect Show information about WRED on a VIPbased interface. show queue interface-type interface-number Show WRED configuration and statistics for a particular interface. show queueing [red] Show the queueing configuration for WRED. show interfaces [type slot | port-adapter | port] Show DWRED statistics for Cisco 7500 series routers. Dressler, Hilgers, Regionales RechenZentrum Erlangen 50 Grundkurs Routing … Fragen??? Dressler, Hilgers, Regionales RechenZentrum Erlangen 51 Grundkurs Routing …