540 likes | 698 Views
Software Architecture of Quality of Service (Qos). Presented by Sun Qian Deng Haotian Zhang Jun. Agenda. Introduction of QoS Integrated Service Framework Differentiate Service Framework Question & Answer. PART 1. Introduction of QoS. The brief introduction of QoS.
E N D
Software Architecture of Quality of Service (Qos) Presented by Sun Qian Deng Haotian Zhang Jun
Agenda • Introduction of QoS • Integrated Service Framework • Differentiate Service Framework • Question & Answer
PART 1 • Introduction of QoS
The brief introduction of QoS • Quality of service (QoS) means providing a consistent, predictable data delivery data –in other words, satisfying customers’ requirements. • Such requirements can be , e.g. bound on delay for internet online movie, or by business needs, e.g. the need to complete a transaction within a given time horizon
Examples • “Hey, even 1 second delay in the movie is intolerable. So please set bounds on delay to 0.5 second or less. ” said by the online movie fan. • “To ensure our business efficiency, 10000 bank transactions should be guaranteed to be processed in one second.” said by the multinational bank manager.
Review of current network environment • Connectionless and packet switching, offering best effort services rather than guaranteed services • Only one queue in the router with FCFS (First come and First serve ) schedule strategy, which leads to treating every packet equally without differentiation. • However, QoS is possible over current infrastructure.
Definition of QoS • Quality of Service is defined as providing service differentiation and performance assurance for Internet application. • Service differentiation is a kind of classification of packets for the purpose of treating certain classes or flows of packets in a particular way, thus different applications will receive different services according to their requirements. • Performance assurance addresses bandwidth, packet loss, delay and delay variation ( jitter ).
Granularity of QoS • Service differentiation can be achieved in per-flow or at an aggregate. • If in per-flow … • A flow is identified by 5 tuples(src IP addr, dest IP addr, src port no, dest port no, and protocol ID). • Packets sharing the same 5 parameters are considered to belong to a flow. • Bandwidth will be allocated to packets from a flow by servicing a certain number of packets from that flow within a time interval. • Service differentiation in per-flow is a fine granularity, but scales poorly in backbone networks where there are possibly tens of thousands of flows. • If in an aggregate … • An aggregate = grouped packets in several traffic class. • Each aggregate treats differently. • Assume that packets in the same class have similar QoS requirements no matter what flows they belong to. • Scale better and have lower-per packet complexity, however, its performance guarantees weaker than that of per-flow approach.
Two Frameworks • Integrated Service Framework • For per-flow • Differentiate Service Framework • For class aggregate
Traffic policing and shaping • Traffic policing • Perform on each packet entering the network • Police all entering traffic to detect any violation of the negotiated contract (e.g. violating the peak rate, or average rate , or burst size set in the contract ) • Degrade or drop “illegal” packets. • Implemented at the edge of the network. Only the routers with direct connection to the users should implement traffic policing. No policing in the core router.
Traffic shaping • Traffic shaping ensures packets to be well shaped without violation against traffic parameters negotiated before. • If terminals send traffic without shaping, they may be detected as nonconforming at the network edge and subject to discard. • Use the same algorithm as traffic policy.
Policing Vs. Shaping • 3 Differences • Location difference • Policing at edge router • Shaping at terminal • Conceptual difference • Policing is to detect violation rather than correct them. It will either discard the traffic or downgrade the priority of it • Shaping does not discard violating traffic, just smooth the traffic • Technical difference • No actual buffering in traffic policing • Buffering space in shaper is used to store packets to be shaped
Scheduling • Packet delay control is an important goal of Internet QoS. Packet delay has three parts: propagation, transmission, and queuing delay. • Scheduling play a vital role in • Determining the queuing delay. • Link sharing or bandwidth sharing • Scheduler must be responsible for delay guarantee and rate guarantee and should be kept as simple as possible.
Variety of scheduling disciplines • First Come First Serve (FCFS) • the simplest scheduling policy. • no flow or class differentiation. • no delay or rate guarantee. • Priority scheduling • provides a separate queue for each priority class. • Basically, it is a multiple-queue FCFS scheduling discipline with the higher priority queue being served first. • a coarse granularity class differentiation. But it has no delay or rate guarantee for individual flows.
Variety of scheduling disciplines (cont’d) • Weighted Fair Queuing (WFQ) • is variation of weighted round robin scheduling, where the weights and coupled with reserved link rates. • It can provide end-to-end delay guarantee on a per-flow basis. But it cannot separate delay and rate guarantee. • Earliest deadline first (EDF) • is a form of dynamic priority scheduling. • Each packet is assigned a sending deadline which is the sum of arrival time and delay guarantee. • Coupled with traffic shapers, EDF can provide separate delay and rate guarantee.
Queue management/Buffer management • One goal of Internet QoS is to control packet loss. • Two reasons for packets loss • Damaged in transit • Dropped when network congested • Loss due to damage is rare(<<1%), so packet loss is often a signal of network congestion. • Tow ways to control network congestion: • Reactive way TCP/IP slow start and congestion control • Proactive way Queue management implemented RED (Random early detection) or WRED (Weighted Random early detection) or RIO ( RED with I/O )
PART 2 • Integrated Services Framework
Integrated Services traffic • Traffic classes • Best Effort service • Controlled-Load service • Guaranteed service • Signaling protocol • Resource reSerVation Protocol (RSVP)
IntServ flow • Integrated Service framework is based on the concept of Flow. • Flow is an application session • In present internet, it is a concept only exists in end-point in Transport layer.(I.e. routers are connectionless) • In Qos-capable internet, flow exists in backbone. • Flow setup and admission control
Two divisions of the diagram • Control plane • Routing agent • Reservation setup agent • Network management • Databases • Data plane • Executed for every packet • It is divided into three sections: • Input driver • Internet forwarder • Output driver
Traffic control • Traffic control creates different qualities of services in router. • Implemented by three components: • Packet scheduler • Packet policing • Packet shaping • Classifier • Admission control
RSVP principles • Receiver-driven reservations • PATH message • Source node sends PATH messages with traffic specification(TSPEC) • Set up a path towards source node. • RESV message • Receiver sends RESV message with reservation specification(RSPEC). • RESV follows the same path with PATH message. • Hop-by-hop reservation
RSVP features • Supports point-to-point, point-to-multipoint, multipoint-to-multipoint resource reservation • Simplex protocol. For full duplex communication, separate resource reservation should be made in each direction. • IP over ATM is a good solution for Qos, however RSVP is consistent with the present connectionless internet. • Soft state, which means PATH and RESV should be sent periodically to maintain the resource reservation.
Issues with IntServ framework • Scalability • Per-hop classification • Per-flow scheduling and buffer management • Maintain per-flow state • RSVP message processing • Soft state • Application signalling • Need to modify applications • Difficult to specify Qos parameters. • Fine granularity • Really necessary?
PART 3 • Differentiated Services Framework
Problems of IntServ • Per-flow base QoS frame work • A lot of network communications overhead • Need to modify application • etc
DiffServ – Basic concepts • Goals: -Need:a more scalable Qos architecture - Relatively simple service differentiation - Applicable to intra-doman and inter-domain resources • To achieve that: - Push per-flow state to domain edges
Basic concepts(cont.) - Core nodes differentiate among a small number of traffic aggregates(classes) - Push contract(SLA) state to business boundaries • How: -Works at class level, where a class is an aggregate of many such flows and Diffserv is a per-aggregate-class based service discrimination framework using packet tagging.
Per Hop Behaviours(PHBs) • A PHB is a mechanism aimed to support a given service in a node • In contrast to Intserv, the Diffserv model does not define any service; it defines certain behaviors a packet may receive at each hop. This is called per-hop behavior(PHB)
Packet classification according to the PHBs • IP packets should be tagged with the PHB id they requrest • The TOS bytes is used for that purpose in IPv4 - In IPv6, the Traffic Class byte is used • Those fileds are in fact renamed as the DS byte - 6 bits are used for Differentiated Services CodePoints(DSCP) - A DSCP identifies a PHB - The other 2 bits are reserved for ECN(Explicit Congestion Notification)
Diffserv Router(cont.) • Components of Diffserv Router - Classifier: The packet received by the Diffserv router is first classified by classifier module. - Marker: The job of the marker is to insert the appropriate DSCP value in the DS byte so that the packet receives appropriate service(PHB) in subsequent routers. Once the packet has been marked, all downstream routers need to perform only BA classification.
Diffserv Router(cont.) • Components of Diffserv Router - Meter: a meter is used to compare the incoming flow with the negotiated traffic profile and pass the violating packets to the shaper and dropper or remark the packet with lower grade service using a different DSCP.
Diffserv Router(cont.) • Components of Diffserv Router - Shaper: shaper may introduce some delay in order to bring the flow into compliance with its profile. The shapers usually have limited buffer and packets that don’t fit into the buffer may be discarded. The shaper buffers may accept a burst of traffic and then send it at an acceptable rate to the next hop.
Diffserv Router(cont.) • Components of Diffserv Router - Dropper: A dropper performs a policing function by simply dropping the packets that are out of profile. It is a special instance of a packet shaper with no buffer.
Diffserv Traffic Classes • Services - Premium service - Sort of virtual leased line service - Typically for voice traffic - Guaranteed bandwidth - Minimal delay, minimal jitter, minimal loss -Traffic policing at ingress node - Drop packets that exceed the purchased peak rate - Supported by The Expedited Forwarding(EF) PHB
Diffserv Trafic Classes(cont.) • Services - Assured Service - Better than best effort service - if packets are in-profiles(within the purchased traffic envelope), then the packets are delivered with high probability - Out-of-profile packets(marked by policer at ingress node) won’t get this reliability - Supported by The Assured Forwarding(AF) PHB - Best Effort service
Policy-Based QoS Management • Service-Level Agreement(SLA) • Service-Level Objective(SLO) • Service-Level Specification(SLS) • Traffic-Conditioning Agreement(TCA)
Bandwidth Broker(BB) • The BB is responsible for automating the process of SLS negotiation. In addition, it also perform admission control, resource management, and network management tasks. • The BB manages the QoS resources within a given domain abased on the SLS that have been agreed upon in that domain. The BB is also reponsible for managing interdomain communication, with the BBs in neighboring domains, with a view to coordinate SLSs across the domain boundaries
Policy Framework • Components of a Policy Framework -Policy decision point (PDP) - Policy enforcement point (PEP) - Local policy decision point (LPDP) PDP and PEP commuicate with each other using a protocol called common open policy service(COPS). In Diffserv architecture, the bandwidth broker could be configured as PDP. PEP can be implemented on edge routers that consult the PDP for policy matters.
COPS Protocols (cont.) • COPS supports two models: - The policy provisioning model is supported in Diffserv architecture where the user contacts the PDP. - The outsourcing model is supported in Intserv/RSVP architecuture.
Multiprotocol Label Swtiching • MPLS offers an alternative to IP-Level QoS. An MPLS packet has a header that is sandwiched between the link layer header and the network layer header. • MPLS is a label-based message forwarding mechanism. By using labels, it can set up explicit routes within an MPLS domain. A packet’s forwarding path is completely determined by its MPLS label. If a packet crosses all MPLS domains, an end-to-end explicit path can be established for the packet. Label also serves as a faster and efficient method for packet classification and forwarding • MPLS also routes multiple network layer protocols within the same network and can be used as an efficient tunnelling mechanism to implement traffic engineering