Presentation is loading. Please wait.

Presentation is loading. Please wait.

Protocols for QoS Support

Similar presentations


Presentation on theme: "Protocols for QoS Support"— Presentation transcript:

1 Protocols for QoS Support
Communication Networks: Differential Services (DiffServ) and Multi-Protocol Label Switching (MPLS) Source and ©: Stallings Hi-Speed Networks and Internets, Ch. 17,18 Last updated: Monday, April 17, 2017 Prof. Amir Herzberg Dept of Computer Science, Bar Ilan University Chapter 18 Protocols for QoS Support Chapter 18

2 Differentiated Services (DiffServ)
DiffServ (DS) routers Support DS enhancements DS Domain: set of contiguous DS routers With consistent DS policy Usually one `owner` DS Border Routers Interface to/from domain Set DS Code Point (class) 6 existing bits in IP header DS Interior Routers Per Hop Behaviour (PHB) Forward (by dest, class) Chapter 18 Protocols for QoS Support

3 Differentiated Services (DiffServ)
Classify traffic in DS boundary node (router) Based on IP src/dst, ports, protocol, … Identify class by DS codepoint in IP header Usually upon entering DS-domain (not by application) DS Codepoint: 6 bits, part of DS field (byte) IPv4: Type of Service, IPv6: Traffic Class DS Routers queue and forward based on codepoint (stateless, simple) Chapter 18 Protocols for QoS Support

4 DS Field and Codepoint DS field is 8 bits
2 rightmost bits used for ECN (Explicit Congestion Notify) 00: no ECN, 11: congestion, 01 and 10: EC status Leftmost 6 bits are DS codepoint Codepoint: DS label for a class of packets 64 different classes available 3 pools xxxxx0 : reserved for standards, e.g. RFC 2474 : default packet class (best effort) xxx000 : reserved for backwards compatibility with IPv4 ToS xxx is precedence for `normal service` in IPv4 ToS xxxx11, xxxx01 : reserved for experimental or local use Chapter 18 Protocols for QoS Support

5 DiffServ Configuration Diagram
Chapter 18 Protocols for QoS Support

6 DS Terminology Chapter 18 Protocols for QoS Support

7 DiffServ: Services Provided within DS domain
Examples: low latency/loss, 90% of in-profile has <50ms latency... DS Domain: contiguous part of Net with consistent DS policies Typically under control of one administrative entity Defined in Service Level Agreement (SLA) Between provider (of DS domain) and customer Customer may be user organization or other DS domain Service provider configures forwarding policies in routers Route (outgoing queue), discard policies And measure performance provided for each class Chapter 18 Protocols for QoS Support

8 Example Services Qualitative Quantitative Mixed Level A: Low latency
B: Low loss Quantitative C: 90% in-profile traffic delivered with no more than 50ms latency D: 95% in-profile traffic delivered Mixed E: Twice bandwidth of F F: Traffic with drop precedence X has higher delivery probability than that with drop precedence Y Chapter 18 Protocols for QoS Support

9 DS Field and IPv4 Type of Service
Chapter 18 Protocols for QoS Support

10 Boundary Routers Include Per Hop Behaviour (PHB) (forward, queue, discard) Also: traffic conditioning to provide desired service Classifier Separate packets into classes Based on fields in header (or even payload) Meter Measure traffic for conformance to profile Marker: set/change DS Code Point [DSCP] to identify class Re-mark codepoint if exceeds class profile (e.g. `drop precedence` - later) Shaper/Dropper (to preserve rate in class profile) Chapter 18 Protocols for QoS Support

11 DS Domain: Interior Routers
Classify by codepoint Forward (by dest, class) Queue management By class Packet dropping rules (when buffer saturated) PHB: Per Hop Behaviour Assured Forwarding (AF) Superior to best effort But no guarantee Expedited Forwarding (EF) Guaranteed QoS Chapter 18 Protocols for QoS Support

12 Assured Forwarding (AF) PHB [RFC 2597]
Superior service to best effort But without reservation of resources Users choose class (from 0 (best effort) to 4) Border router assigns drop precedence In, out, or medium Depending on match to traffic specifications Interior routers use class, drop precedence To prioritize queuing, drop decision SLA: number of allowed (in) packets per user From each class, for specific duration Chapter 18 Protocols for QoS Support

13 PHB - Assured Forwarding
Four classes defined Select one or more to meet requirements Within class, packets marked by customer or provider with one of three drop precedence values Used to determine importance when dropping packets as result of congestion Chapter 18 Protocols for QoS Support

14 Expedited Forwarding (EF) PHB
Premium, reserved QoS service [RFC 3246/7] Low (bounded) delay, jitter No loss (if arrivals satisfy specifications) Minimum departure rate R at routers (Almost) empty queues for all EF traffic Provided that arrivals rate < min departure rate Ensured by border routers (aka Boundary conditioners) How to bound delay, jitter? Define R? Timescale at which to measure R Or: a bound E on the `error` (delay on top of Rl) Since R holds only for `sufficiently long periods`… Cannot guarantee departure rate if queue is empty Arrival specifications to avoid loss… Chapter 18 Protocols for QoS Support

15 EF PHB: Arrivals Specifications
EF PHB may include arrival specifications No (congestion) loss if total arrivals in spec Total arrivals from all inputs for specific out interface May use Token Bucket Conformance Parameters: Token rate R in Bytes/second Bucket size (or `depth`) B in Bytes Peak traffic rate p in Bytes/sec Minimum policed unit length m Maximum packet size M Chapter 18 Protocols for QoS Support

16 EF PHB: Delay Specifications
EF-able router MUST satisfy: dj,Iφ≤ fj,Iφ + EIφ I is a specific interface, RI is specified rate φ{A,P} (A: Aggregate, P: Per-Packet) dj,IA is end of sending jth EF-packet from I fj,Iφ is the `ideal` end of sending, defined by: fj,Iφ=max{aj,I , min(dj-1,Iφ, fj-1,Iφ)}+lj,Iφ / RI aj,I is end of receiving jth packet to I lj,IA is the length of the jth packet sent from I f0,Iφ=0, d0,Iφ=0 EIφ caps the φ-error on interface I Aggregate values do not cap delay of one packet Chapter 18 Protocols for QoS Support

17 EF PHB: Per-Packet Delay Spec
EF-able router MUST satisfy: dj,Iφ≤ fj,Iφ + EIφ I is a specific interface, RI is specified rate φ{A,P} (A: Aggregate, P: Per-Packet) dj,IP: end sending from I the jth packet received for I fj,Iφ is the `ideal` end of sending, defined by: fj,Iφ=max{aj , min(dj-1,Iφ, fj-1,Iφ)}+lj,Iφ / RI aj,I is end of receiving jth packet to I lj,IP is the length of the jth packet received for I EIφ caps the φ-error on interface I Per-packet values cap delay for each packet EF-able router specifies rate RI and error EIφ Chapter 18 Protocols for QoS Support

18 EF PHB: Per-Packet Delay Spec
EF-able router MUST satisfy: dj,IP≤ fj,IP + EIP dj,IP: time when router finished sending the jth packet Received for I With specified rate RI and error EIP for interface I EIP caps the delay error on interface I (for rate RI) Where: fj,IP=max{aj,I , min(dj-1,IP, fj-1,IP)}+lj,I / RI is the `ideal` time for finishing to send the jth packet aj,I is time when router finished receiving jth packet for I lj,I is the length of the jth packet received for I f0,IP=0, d0,IP=0 Spec also has aggregate delay requirements – see RFC Different if the router is non-FIFO (as many are) Chapter 18 Protocols for QoS Support

19 Bounding Delay and Jitter
Given: EIP : maximal per-packet delay error on I Total inputs towards I conform to token-bucket with rate RI and size BI Then a bound of delay and jitter is: D=BI / RI + EIP If there is a minimal delay Emin<EIP then we can improve bound on jitter to: J=D-Emin How to improve bound on jitter? And what for? Chapter 18 Protocols for QoS Support

20 Per-Domain Behaviour (PDB) and Service Level Agreement (SLA)
PDB [RFC 3086]: Edge-to-edge QoS parameters Technical specifications: Traffic Spec (e.g. Token bucket) Border (admission) policy: classification, marking, shaping Per-Hop Behaviour (PHB), or multiple PHBs Attributes: throughput, loss, latency, jitter under specified conditions Network parameters: max number of hops, min bandwidth, max delay,… Allow composition of domains into DS regions SLA: Between provider (of DS domain) and customer Customer: user organization or other DS domain SLS: Service Level Specifications (parameters of SLA) Customer visible, quantified, end-to-end QoS Provider can use PDB to meet SLS Chapter 18 Protocols for QoS Support

21 Codepoints for AF PHB Chapter 18 Protocols for QoS Support

22 Multi-Protocol Label Switching (MPLS)
Routing algorithms provide support for performance goals Distributed and dynamic React to congestion Load balance across network Based on metrics Develop information that can be used in handling different service needs Enhancements provide direct support IntServ, DiffServ, RSVP Limited deployment (certainly cf. to MPLS) Worse: no QOS guarantee (throughput, delay) MPLS tries to match ATM QoS support Chapter 18 Protocols for QoS Support

23 Multi-Protocol Label Switching (MPLS)
Widely deployed and used, covered extensively Book chapter is also in MPLS IETF WG, MPLS forum, MPLS Resource Center, … Mid-1990s: Efforts to marry IP and ATM Motivation: ATM switches were much faster than routers IP switching (Ipsilon), Tag switching (Cisco), … Routing (e.g. OSPF) define path between end points Diff-Serv: assign packets to class on entering Net MPLS: assign a fixed path for each flow Simpler, faster routing/switching of packets Connection-oriented QoS support (cf. DiffServ) Traffic engineering: choose and change path for each flow Virtual private networks Multi-Protocol support Chapter 18 Protocols for QoS Support

24 Protocols for QoS Support
MPLS Operation Label Switched Routers (LSR) Forward packets based on MPLS label, not on IP header Add / swap / merge labels (more later) Labels identifies flow of packets Between end points or multicast destinations Flow = FEC (Forward Equivalency Class) Flow defined by src/dest IP addr, port; protocol; DSCP Connection oriented: each flow has… Specific path through LSRs Specific QoS parms: resources, queue/discard policy Path determined by routing protocol e.g. OSPF Labels assigned manually or by proper protocol Enhanced RSVP or LDP (Label Distribution Protocol) DSCP = Diff-Serv Code-point (identifies class of packet) Chapter 18 Protocols for QoS Support Chapter 18

25 MPLS Domain Operation Chapter 18 Protocols for QoS Support

26 MPLS: Connection Oriented QoS Support
Guarantee fixed capacity for specific applications Control latency/jitter Ensure capacity for voice Provide specific, guaranteed and quantifiable SLAs [Service Level Agreements] Configure varying degrees of QoS MPLS imposes connection oriented framework on IP based internets Chapter 18 Protocols for QoS Support

27 MPLS Traffic Engineering
Traffic Eng: select routes, reserve resources to optimize utilization based on known demands Basic IP: per-packet routing/forwarding decision MPLS: aware of flow traffic, QoS requirements Load-balance – select (different) route for flows Intelligent re-routing (of flows) when congested Chapter 18 Protocols for QoS Support

28 VPN Support Traffic from a given enterprise or group passes transparently through an internet Segregated from other traffic on internet Performance guarantees Security Chapter 18 Protocols for QoS Support

29 Multiprotocol Support
MPLS supports different network technologies IP ATM Frame relay Mixed network In all cases: Router/switch should be MPLS-enabled Enabled and ordinary routers/switches can co-exist Chapter 18 Protocols for QoS Support

30 MPLS Terminology Chapter 18 Protocols for QoS Support

31 Explanation - Setup Labelled Switched Path (LSP) route selection
QoS parameters established along LSP: Resource commitment Queuing and discard policy at LSR (PHB) Labels assigned Local significance only Manually or using protocol Chapter 18 Protocols for QoS Support

32 Route Selection Selection of LSP for particular flow Hop-by-hop
LSR independently chooses next hop Ordinary routing protocols e.g. OSPF Doesn’t support traffic engineering or policy routing Explicit LSR (usually ingress or egress) specifies some or all LSRs in LSP for given flow Allows traffic engineering and policy routing Selected by configuration, or dynamically Chapter 18 Protocols for QoS Support

33 Constraint Based Routing
Take into account traffic requirements of flows and resources available along hops Current utilization, existing capacity, committed services Additional metrics over and above traditional routing protocols (e.g. OSPF, BGP) Maximum link data rate Current capacity reservation Packet loss ratio Link propagation delay Chapter 18 Protocols for QoS Support

34 Label Distribution and Resource Allocation
Setting up LSP for a flow… each LSR: Assign in-label to incoming packets Inform all upstream LSRs of in-label Receive out-label from downstream LSR Manually or by label-setup protocol RFC 3031: enhanced RSVP or new Chapter 18 Protocols for QoS Support

35 Explanation – Packet Handling
Packet enters domain through edge LSR Edge LSR determines flow, LSP Appends label Forwards packet LSR within domain: Remove label from incoming packet Attach outgoing label and forward This is label switching / swapping Egress LSR: Strips label, reads IP header and forwards Chapter 18 Protocols for QoS Support

36 Notes MPLS domain is contiguous set of MPLS enabled routers
Traffic may enter or exit via direct connection to MPLS router or from non-MPLS router Flow determined by parameters, e.g. Source/destination IP address or network IP address Port numbers IP protocol id Differentiated services codepoint IPv6 flow label Forwarding is simple lookup in predefined table Map label to next hop Can define PHB at an LSR for given flow Packets between same end points may belong to different flow Chapter 18 Protocols for QoS Support

37 MPLS Packet Forwarding
Chapter 18 Protocols for QoS Support

38 MPLS Labels Stack Packet may carry a stack of MPLS labels
Processing based on top label LSR may push or pop label Unlimited levels Push label of aggregate (tunnel) LSP, pop at exit Fewer labels  smaller, more efficient tables Chapter 18 Protocols for QoS Support

39 Label Format Diagram Label value: Locally significant 20 bit
Exp: 3 bit reserved for experimental use E.g. DS information or PHB guidance S: 1 for oldest entry in stack, zero otherwise Time to live (TTL): from (& to!) IP header Processing as expected… see spec/book/hidden foil Chapter 18 Protocols for QoS Support

40 Time to Live Processing
Needed to support TTL since IP header not read First label TTL set to IP header TTL on entry to MPLS domain TTL of top entry on stack decremented at internal LSR If zero, packet dropped or passed to ordinary error processing (e.g. ICMP) If positive, value placed in TTL of top label on stack and packet forwarded At exit from domain, (single stack entry) TTL decremented If zero, as above If positive, placed in TTL field of Ip header and forwarded Chapter 18 Protocols for QoS Support

41 Label Stack Appear after data link layer header, before network layer header Top of stack is earliest (closest to network layer header) Network layer packet follows label stack entry with S=1 Over connection oriented services Topmost label value in ATM header VPI/VCI field Facilitates ATM switching Top label inserted between cell header and IP header In DLCI field of Frame Relay Note: TTL problem Chapter 18 Protocols for QoS Support

42 Position of MPLS Label Stack
Chapter 18 Protocols for QoS Support

43 FECs, LSPs, and Labels Traffic grouped into FECs
Traffic in a FEC transits an MLPS domain along an LSP Packets identified by locally significant label At each LSR, labelled packets forwarded on basis of label. LSR replaces incoming label with outgoing label Each flow must be assigned to a FEC Routing protocol must determine topology and current conditions so LSP can be assigned to FEC Must be able to gather and use information to support QoS LSRs must be aware of LSP for given FEC, assign incoming label to LSP, communicate label to other LSRs Chapter 18 Protocols for QoS Support

44 Topology of LSPs Unique ingress and egress LSR
Single path through domain Unique egress, multiple ingress LSRs Multiple paths, possibly sharing final few hops Multiple egress LSRs for unicast traffic Multicast Chapter 18 Protocols for QoS Support

45 Summary - QoS ISA: Queuing to prefer/guarantee QoS (e.g. WFQ)
RED, ECN: Signal congestion to slow TCP (fairly) DiffServ: Ensure predefined QoS (PHB, PDB, SLA) Or: RSVP - reserve resources per connection For unicast, multicast Traditional IP dynamic routing or… MPLS: Fixed paths, label switching More… (e.g. RTP – in book) Chapter 18 Protocols for QoS Support


Download ppt "Protocols for QoS Support"

Similar presentations


Ads by Google