EE 122: Lecture 18 (Differentiated Services)What is the Problem?Differentiated Services (Diffserv)Diffserv ArchitectureDifferentiated Service (DS) FieldAdministrative StuffDifferentiated ServicesAssured ServiceSlide 9Premium ServiceEdge RouterAssumptionsTC Performing Metering/MarkingTC Performing Metering/Marking/ShapingSchedulerScheduler ExampleControl PathExampleComparison to Best-Effort and IntservSummaryEE 122: Lecture 18(Differentiated Services)Ion StoicaNov 8, [email protected] 2What is the Problem?Goal: provide support for wide variety of applications:-Interactive TV, IP telephony, on-line gamming (distributed simulations), Virtual Private Networks (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] 6Administrative StuffReview session for 2nd Project: Friday, November 9, 6pm, Soda Hall 3064th homework, available on-line today, due November [email protected] 7Differentiated ServicesTwo types of service-Assured service-Premium servicePlus, best-effort [email protected] 8Assured ServiceDefined 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 [email protected] 9Assured ServiceLarge spatial granularity serviceTheoretically, user profile is defined irrespective of 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] 10Premium ServiceProvides 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] 11Edge RouterClassifier Traffic conditionerTraffic conditioner Scheduler Class 1Class 2Best-effort Marked trafficIngressPer aggregateClassification (e.g., user)Data [email protected] 12AssumptionsAssume two bits -P-bit denotes premium traffic-A-bit denotes assured trafficTraffic conditioner (TC) [email protected] 13TC 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 tokensb tpsMetering in-profile trafficout-of-profile trafficassured trafficUser profile (token bucket)Set A-bitClear [email protected] 14TC 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 dropped r bpsb bitsMetering/Shaper/Set P-bit in-profile trafficout-of-profile traffic(delayed and dropped)premium trafficUser profile(token bucket)[email protected] 15SchedulerEmployed 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] 16Scheduler 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] 17Control 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] 18ExampleAchieve end-to-end bandwidth guaranteeBBBBBBBBBBBB123579senderreceiver8profile6profile4profileistoica@cs.berkeley.edu 19Comparison to Best-Effort and IntservBest-Effort Diffserv IntservService ConnectivityNo isolationNo guaranteesPer aggregate isolationPer aggregate guaranteePer flow isolationPer flow guaranteeService scopeEnd-to-end Domain End-to-endComplexity No setup Long term setup Per flow steupScalability Highly scalable (nodes maintain only routing state)Scalable(edge routers maintains per aggregate state; core routers per class state) Not scalable (each router maintains per flow state)[email protected] 20SummaryDiffserv 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
View Full Document