1CS 268: Differentiated ServicesIon StoicaFebruary 25, [email protected] 2What is the Problem?Goal: provide support for wide variety of applications:- Interactive TV, IP telephony, on-line gamming (distributed simulations), VPNs, etcProblem: - Best-effort cannot do it (see previous lecture)- Intserv can support all these applications, but• Too complex• Not [email protected] 3Differentiated Services (Diffserv)Build around the concept of domainDomain – a contiguous region of network under the same administrative ownershipDifferentiate between edge and core routersEdge routers - Perform per aggregate shaping or policing- Mark packets with a small number of bits; each bit encoding represents a class (subclass)Core routers- Process packets based on packet markingFar more scalable than Intserv, but provides weaker [email protected] 4Diffserv ArchitectureIngress routers - Police/shape traffic- Set Differentiated Service Code Point (DSCP) in Diffserv (DS) fieldCore routers- Implement Per Hop Behavior (PHB) for each DSCP- Process packets based on DSCPIngressEgressEgressIngressEgressEgressDS-1DS-2Edge routerCore [email protected] 5Differentiated Service (DS) FieldVersion HLenTOS LengthIdentificationFragment offsetFlagsSource addressDestination addressTTL Protocol Header checksum04 8 16 19 31DataIPheaderDS filed reuse the first 6 bits from the former Type of Service (TOS) byteThe other two bits are proposed to be used by ECN DS Filed0 5 [email protected] 6Differentiated ServicesTwo types of service- Assured service- Premium servicePlus, best-effort [email protected] 7Assured Service[Clark & Wroclawski ‘97]Defined in terms of user profile, how much assured traffic is a user allowed to inject into the networkNetwork: provides a lower loss rate than best-effort- In case of congestion best-effort packets are dropped firstUser: sends no more assured traffic than its profile- If it sends more, the excess traffic is converted to best-effort [email protected] 8Assured ServiceLarge spatial granularity serviceTheoretically, user profile is defined irrespectiveof destination- All other services we learnt are end-to-end, i.e., we know destination(s) aprioriThis makes service very useful, but hard to provision (why ?)IngressTraffic [email protected] 9Premium Service[Jacobson ’97]Provides the abstraction of a virtual pipe between an ingress and an egress routerNetwork: guarantees that premium packets are not dropped and they experience low delayUser: does not send more than the size of the pipe- If it sends more, excess traffic is delayed, and dropped when buffer [email protected] 10Edge RouterClassifier Traffic conditionerTraffic conditionerScheduler Class 1Class 2Best-effort Marked trafficIngressPer aggregateClassification (e.g., user)Data [email protected] 11AssumptionsAssume two bits - P-bit denotes premium traffic- A-bit denotes assured trafficTraffic conditioner (TC) implement- Metering- Marking- [email protected] 12TC Performing Metering/MarkingUsed to implement Assured ServiceIn-profile traffic is marked: - A-bit is set in every packetOut-of-profile (excess) traffic is unmarked- A-bit is cleared (if it was previously set) in every packet; this traffic treated as best-effort r bpsb bitsMetering in-profile trafficout-of-profile trafficassured trafficUser profile (token bucket)Set A-bitClear [email protected] 13TC Performing Metering/Marking/ShapingUsed to implement Premium ServiceIn-profile traffic marked:- Set P-bit in each packetOut-of-profile traffic is delayed, and when buffer overflows it is droppedr bpsb bitsMetering/Shaper/Set P-bit in-profile trafficout-of-profile traffic(delayed and dropped)premium trafficUser profile(token bucket)[email protected] 14SchedulerEmployed by both edge and core routersFor premium service – use strict priority, or weighted fair queuing (WFQ)For assured service – use RIO (RED with In and Out)- Always drop OUT packets first• For OUT measure entire queue• For IN measure only in-profile queue OUT INAverage queue length [email protected] 15Scheduler ExamplePremium traffic sent at high priorityAssured and best-effort traffic pass through RIO and then sent at low priority P-bit set?A-bit set? RIOyesnoyesnohigh prioritylow [email protected] 16Control PathEach domain is assigned a Bandwidth Broker (BB)- Usually, used to perform ingress-egress bandwidth allocation BB is responsible to perform admission control in the entire domainBB not easy to implement- Require complete knowledge about domain- Single point of failure, may be performance bottleneck- Designing BB still a research [email protected] 17ExampleAchieve end-to-end bandwidth guaranteeBBBBBBBBBBBB123579senderreceiver8profile6profile4profileistoica@cs.berkeley.edu 18Comparison to Best-Effort and IntservPer flow steupLong term setupNo setupComplexityEnd-to-endDomain End-to-endService scopeNot scalable (each router maintains per flow state)Scalable(edge routers maintains per aggregate state; core routers per class state) Highly scalable (nodes maintain only routing state)ScalabilityPer flow isolationPer flow guaranteePer aggregate isolationPer aggregate guaranteeConnectivityNo isolationNo guaranteesService [email protected] 19SummaryDiffserv more scalable than Intserv- Edge routers maintain per aggregate state- Core routers maintain state only for a few traffic classesBut, provides weaker services than Intserv, e.g.,- Per aggregate bandwidth guarantees (premium service) vs. per flow bandwidth and delay guarantees BB is not an entirely solved problem- Single point of failure- Handle only long term reservations (hours,
View Full Document