nslab diffserv 06a

Category: Entertainment

Presentation Description

No description available.


Presentation Transcript

Advanced Computer communication laboratory: 

Advanced Computer communication laboratory 2006 Miriam Allalouf


Subjects QoS - Concepts and definitions QoS Building Blocks Goals of DiffServ What is DiffServ DiffServ Architecture: Classifiers, Traffic Profiles, Traffic Conditioning PHBs (per-hop behaviors) – different types IP header structure & DS field structure DSCP Values DiffServ Drawbacks Reference

QoS - Concepts and definitions: 

QoS - Concepts and definitions Quality of Service (QoS) – What are we trying to control? Bounds on the loss, delay, jitter, and minimum throughput that a network guarantees to deliver Deliver different service levels to network applications in support of QoS Why improve the QoS Enable real-time Video/Audio application IP telephony (VoIP), Net meeting Permit differentiated pricing of internet service Dedicated point to point link through public network (VPN) Avoid congestion situation (N to 1 problem) Bandwidth is easy; low latency is hard

How to get the QoS in the IP network: 

How to get the QoS in the IP network Admission control / Police control Is this requester authorized to be granted that service type and amount of resource now? SLA, Human provision Bandwidth management Is there enough resource to admit the new request BB (Bandwidth Broker), RSVP, IntServ, Human provision Packet classification Classify the packet base on the policy,SA/DA, etc. (IntServ) Multi field classification, Marking (DiffServ,MPLS,VLAN) Congestion control/Q management Q schedule Q management

Bandwidth Broker (BB): 

Bandwidth Broker (BB) A policy management entity for automating resource allocation and provisioning over multiple domains Logical entity, can be mapped to a single or multiple physical entities A logical entity residing in each administrative domain managing internal demands & resources according to some policy database (who can do what where and when) Setting up & maintaining bilateral agreement with neighbor domains

IETF Differentiated Services (DiffServ) : 

IETF Differentiated Services (DiffServ) Why DiffServ? There is a clear need for relatively simple and coarse methods of providing differentiated classes of service for Internet traffic, to support various types of applications, and specific business requirements (from IETF DiffServ Group charter)

General Goals of Diffserv: 

General Goals of Diffserv Offer a spectrum of services without per-flow states and signaling in every router Provide QoS for aggregates of traffic Divide the responsibility of policy administration Focusing on scalability and deployment

Low-level Goals of Diffserv: 

Low-level Goals of Diffserv Keep the forwarding path simple Push complexity to edges of the network Make it possible for the dominant Internet traffic model to remain best-effort Employ an allocation policy compatible with long-term and short-term provisioning

Diffserv basics: 

Diffserv basics Use the DSCP field to classify packets into any of the 64 possible classes. IETF defines per-hop behaviors (PHBs) including assured forwarding (AF) and expedited forwarding (EF). Traffic that is characterized as EF will receive the lowest latency, jitter and assured bandwidth services which is suitable for applications such as VoIP.

Diffserv basics (cont.): 

Diffserv basics (cont.) AF allows carving out the bandwidth between multiple classes in a network according to desired policies. Can also add user-defined PHBs, beyond the scope of AF & EF. Thus, DSCP code points other than the ones reserved for AF, EF, and best effort service can be associated with an arbitrary PHB.

DiffServ - Key of operation: 

DiffServ - Key of operation Classify and condition input traffic on boundaries and assign to different behavior aggregates using DS-fields Different forwarding behaviors (PHBs) within the core Per-Hop Behavior (PHB) the externally observable forwarding behavior applied at a DS-compliant node to a DS behavior aggregate. Same mark may be treated differently in different hops End-to-end service is constructed by concatenation of PHBs and policing traffic at boundaries along with resource provisioning and configuration

DS Domain / DS Region : 

DS Domain / DS Region DS domain - a contiguous set of nodes which operate with a common set of service provisioning policies and PHB definitions. DS region - a set of contiguous DS domains which can offer differentiated services over paths across those DS domains.

DS Region: 

DS Region

Classifiers : 

Classifiers Packet classifiers select packets in a traffic stream based on the content of some portion of the packet header BA (Behavior Aggregate) Classifier - classifies packets based on the DS codepoint only. MF (Multi-Field) classifier - selects packets based on the value of a combination of one or more header fields. E.g. src address, dest address, DS field, protocol ID, source port and dest port numbers, and other info such as incoming interface.

DiffServ Classifiers (cont.): 

DiffServ Classifiers (cont.) Packet with same mark treated equivalently: they form a class called differential service behavior aggregate (BA) A typical arrangement (Cisco) would be to categorize traffic into premium, gold, silver, bronze, and best-effort classes. Fast classification technique (stateless and scale well)

Traffic Conditioning: 

Traffic Conditioning Traffic conditioning performs some or all of: metering shaping policing re-marking Conditioning - at the edge of the network. Need to ensure that the traffic entering the DS domain conforms to the rules specified in the TCA, in accordance with the domain's service provisioning policy

Traffic Conditioning (cont.): 

Traffic Conditioning (cont.) A traffic stream is selected by a classifier, which steers the packets to a logical instance of a traffic conditioner A meter is used (where appropriate) to measure the traffic stream against a traffic profile The instantaneous state of this process may be used to affect the operation of a marker, shaper, or dropper, and/or may be used for accounting and measurement purposes.

Traffic Profiles : 

Traffic Profiles Specifies the temporal properties (e.g. rate) of a traffic stream selected by a classifier. Provides rules for determining whether a particular packet is in-profile or out-of-profile. E.g. a profile based on a token bucket may look like: codepoint=X, use token-bucket r, b out-of-profile packets are those packets in the traffic stream which arrive when insufficient tokens are available in the bucket

Traffic Conditioning (cont.): 

Traffic Conditioning (cont.) When packets exit the traffic conditioner of a DS boundary node the DSCP of each packet must be set to an appropriate value (done by the Marker) Shapers delay some or all of the packets in a traffic stream in order to bring the stream into compliance with a traffic profile. A shaper usually has a finite-size buffer, and packets may be discarded if there is not sufficient buffer space to hold the delayed packets. Droppers discard some or all of the packets in a traffic stream in order to bring the stream into compliance with a traffic profile. This process is known as "policing" the stream. a dropper can be implemented as a special case of a shaper by setting the shaper buffer size to zero (or a few) packets.

DiffServ Traffic Conditioner Block (TCB): 

DiffServ Traffic Conditioner Block (TCB)

Location of Traffic Conditioners: 

Location of Traffic Conditioners Traffic conditioners are usually located within DS ingress and egress boundary nodes They may also be located in nodes within the interior of a DS domain, or within a non-DS-capable domain.

DiffServ Architecture: 

DiffServ Architecture

Basic Definitions: 

Basic Definitions Average Rate how many packets can be sent over a time interval (measured over long time interval) Peak Rate measured over short time interval Burst Size number of packets sent consecutively

Basic Definitions: 

Basic Definitions Microflow : a single instance of an application-to-application flow of packets, identified by <src_addr, src_port,dest_addr, dest_port, protocol_id> SLA (Service Level Agreement) : a set of parameters and their values which together define the service offered to a traffic stream by a DS domain.

Types of PHBs: 

Types of PHBs Expedited Forwarding (premium Service) Low latency Low loss Low jitter Assured BW No queues in the path (or Low Latency Queuing - LLQ) VoIP, video, online trading programs

Types of PHBs (cont.): 

Types of PHBs (cont.) 2. Assured Forwarding (better than Best-Effort) Low loss Higher BW share No guarantee on latency Upon congestion – protect AF marked packets and drop BE first.

Assured Forwarding (AF): 

Assured Forwarding (AF) Goal : Assuring a minimum throughput Allowing to consume more bandwidth when the network load is low Different levels of forwarding assurances Intended mainly for data

AF PHB Group: 

AF PHB Group Four independently forwarded AF classes, and within each AF class, three levels of drop precedence (two okay). Drop precedence of a packet determines the relative importance of the packet within the AF class. A congested AF node preferably discards packets with a higher drop precedence value Packets with the lowest drop precedence value are assumed to be within a “subscribed profile”. An AF- compliant node allocates resources sufficient to achieve (at least) the configured service bandwidth over “both large and small time scales.”

AF - Requirements: 

AF - Requirements All four AF classes should be implemented No aggregation of several AF classes A DS node does not reorder IP packets of the same microflow if they belong to the same AF class. When AF packets are tunneled, the PHB of the tunneling packet must not reduce the forwarding assurance of the tunneled AF packet.

Building Blocks: 

Building Blocks Packet classification Token Bucket Shaping – Leaky Bucket Q management Drop tail Queue RED queue

Token Bucket: 

Token Bucket Limit the burst size and the average rate Over time interval t : up to rt + b packets admitted


Meter Parameters : CIR – Committed Information Rate (SLA …) CBS – Committed Burst Size EBS – Excess Burst Size Two Token Buckets, initially full : Token Bucket C – size CBS Token Bucket E – size EBS Updated CIR times per second

Packet Marking A Single Rate Three Color Marker: 

Packet Marking A Single Rate Three Color Marker The Marker reflects the metering result by setting the DS field of the packet to a particular codepoint. new packet B bytes Bucket C has enough tokens Bucket E has enough tokens Yes No color green color yellow color red No Yes


Shaper - The leaky bucket algorithm Example: Output rate: 2MBps Burst size: 1MB  500ms Burst size: 25MBps 40ms

AF – Queuing & Dropping: 

AF – Queuing & Dropping Long-term congestion – drop packets Short-term congestion – enqueue packets Treat all packets within the same class/drop precedence identically – no advantage to any microflow. Flows with different short-term burst shapes, but same longer term packet rates should have packets discarded with the same probability Discard packets gradually, for example, use RED

DiffServ AF Drpoping: 

DiffServ AF Drpoping 4 AFx classes (AF1, AF2, AF3, and AF4). Each class is assigned a certain amount of buffer space and interface BW. 3 drop precedence values for each AFx class.  Thus: congestion in a DS-node on a specific link  packets of AFx need to be dropped  packets in AFxy will be dropped such that the dP(AFx1) <= dP(AFx2) <= dp(AFx3), where dP(AFxy) is the probability that packets of the AFxy class will be dropped.

Q mng : Packet Dropping : Tail Drop: 

Q mng : Packet Dropping : Tail Drop Tail Drop – packets are dropped when the queue is full causes the Global Synch. problem with TCP Queue Utilization 100% Time Tail Drop

Packet Dropping : RED: 

Packet Dropping : RED Proposed by Sally Floyd and Van Jacobson in the early 1990s packets are dropped randomly prior to periods of high congestion, which signals the packet source to decrease the transmission rate distributes losses over time

RED - Implementation: 

RED - Implementation Drop probability is based on min_threshold, max_threshold, and mark probability denominator. When the average queue depth is above the minimum threshold, RED starts dropping packets. The rate of packet drop increases linearly as the average queue size increases until the average queue size reaches the maximum threshold. When the average queue size is above the maximum threshold, all packets are dropped.

RED (cont.): 

RED (cont.) Buffer occupancy calculation : for in-profile packets : only in-profile packets count for out-of-profile packets : in-profile + out-of-profile 0 1 min1 max1 min2 max2 av. queue size AF11 AF12 drop prob. …

AF and other PHB Groups: 

AF and other PHB Groups Any other PHB Group can coexist with AF, but the following should be documented : What group can preempt the forwarding to each AF class Sharing of the excess resources (e.g. allocating them evenly between AF classes and Default PHB)

Types of PHBs (cont.): 

Types of PHBs (cont.) Best-Effort No guarantees or QoS The type of traffic currently supported by the Internet

IPv4 and IPv6 Headers: 

IPv4 and IPv6 Headers

The Original IPv4 ToS Byte: 

The Original IPv4 ToS Byte

DS field structure: 

DS field structure Packets can be marked with an arbitrary DSCP value / standard values, corresponding to the appropriate AF, EF or user define class.                              

DSCP Values : 

DSCP Values The codepoint for best-effort traffic will be set to "000000". EF is designated by the code-point "101110". AF : 12 PHBs: 4 classes ( 4 Queues) each with 3 drop preferences

DiffServ AF Codepoint Table : 

DiffServ AF Codepoint Table

DiffServ AF Codepoint Table (cont.): 

DiffServ AF Codepoint Table (cont.) Assured Forwarding AF23

Baking the DiffServ Pie : 

Baking the DiffServ Pie The DS-Region is composed of one or more DS-Domains, possibly under multiple admin authorities Each DS-Domain in turn is prepared by using the DSCP and the different PHBs. The DiffServ “recipe” is defined in the SLA, or policy. For true QoS, the entire IP path that a packet travels must be DiffServ enabled.

Baking the DiffServ Pie (cont.): 

Baking the DiffServ Pie (cont.) AF - The rough equivalent of the IntServ Controlled Load Service. BAs are given different forwarding assurances. For example, traffic can be divided into gold, silver, and bronze classes: Gold - allocated 50% of the available link BW Silver - allocated 30% of the available link BW Bronze - allocated 20% of the available link BW

Baking the DiffServ Pie (cont.): 

Baking the DiffServ Pie (cont.) An example service policy: EF gets 10%, Gold 40%, Silver 30%, Bronze 10%, and Best Effort traffic the remaining 10% of the bandwidth. Gold, Silver, and Bronze could be mapped to AF classes AF1, AF2, and AF3 for example. This can be enforced in any part of the cloud, including end-to-end.

DiffServ Architecture: 

DiffServ Architecture

DiffServ concept - summary: 

DiffServ concept - summary Packets are classified at the edge of the network PHBs are applied on each network element, providing the packet the appropriate delay-bound, jitter-bound, bandwidth, etc. Result: a scalable QoS solution for any given packet, and thus any application.

DiffServ concept – summary (cont.): 

DiffServ concept – summary (cont.) Thus, in DiffServ: signaling for QoS is eliminated the number of states required to be kept at each network element is drastically reduced, Result: a coarse-grained, scalable and end-to-end QoS solution.

Problems …: 

Problems …


TCP RTT Reminder : the larger the RTT, the more time is needed to recover after a packet loss. For over-provisioned (less traffic than req.) networks, each flow will receive its target rate, but with unfair sharing of the excess bandwidth For under-provisioned networks, the high RTT flows will be further away from the target flow

Combining TCP and UDP Flows: 

Combining TCP and UDP Flows Reminder : TCP reacts to a packet loss by halving its window and then slowly increases transmission of packets. TCP & UDP share the same class and drop precedence. UDP flows will starve the TCP flows in under-provisioned networks and could obtain more excess bandwidth in the over-provisioned case Solution: TCP & UDP share the same class but with different drop precedence TCP flows are protected from the UDP flows by different drop prec.

Number of Flows in Aggregate: 

Number of Flows in Aggregate The SLA is on the aggregate flow, so it's possible that various organizations will have different number of microflows while subscribed to the same target rate The aggregate with larger number of flows will get more share of the bandwidth (in over-provisioned and under-provisioned cases). The reason – more flows compete for the resources !

More Considerations …: 

More Considerations … Variation in Packet Size : Flows with the same RTT but different packet sizes can achieve different share of the excess bandwidth Size of the Target Rate : The recovery time after the packet drop – when the target size is big it'll take more time to regain it, so this should be taken in consideration when marking…

Some Better Techniques: 

Some Better Techniques The solution could be at the marker, dropper or the sender … Inverse Rate Drop policy. Higher Service Level/Target Rate need more time to recover after a packet loss. So, the dropper should take it into account and drop packets with a higher service level with lower probability. Two-Windows TCP Using 2 congestion windows : reserved and excess. Requires to inform the sender about coloring of its packets, TCP stack change…

authorStream Live Help