Int Serv Diff Serv r Integrated Services Int

  • Slides: 23
Download presentation
Int. Serv / Diff. Serv r Integrated Services (Int. Serv) m Resource Reservation Protocol:

Int. Serv / Diff. Serv r Integrated Services (Int. Serv) m Resource Reservation Protocol: RSVP r Differentiated Services (Diff. Serv) m Assured Forwarding m Expedited Forwarding m Comparison: AF vs. EF r Reading: Kurose-Ross Chapter 6. 7 -6. 9

Qo. S (Quality of Service) in the Internet r The Internet Protocol (IP) does

Qo. S (Quality of Service) in the Internet r The Internet Protocol (IP) does not guarantee Qo. S to applications r Idea: Re-engineer IP to provide quality of service m Let routers distinguish classes of flows r Q: What is the model for a class? r Solution must consider: m the needs of (some/most/all) applications m the add’l state that routers must maintain m the add’l communication overhead (add’l packets or bits) m # of flows or classes a router must handle

Int. Serv vs. Diff. Serv Int. Serv (1992) r per-flow reservations m Diff. Serv

Int. Serv vs. Diff. Serv Int. Serv (1992) r per-flow reservations m Diff. Serv (1997) r packet classification i. e. , needs RSVP r flows provide traffic characterization r “heavy” state: per-flow r edge & core routers m m r “strong” guarantees, e. g. , m conformance to leakybucket characterization [RFC 2215] m bound on max e 2 e delay [RFC 2212] edge: “heavy” state core: “light” state r “weak” guarantees, e. g. , m Flow A gets better service than Flow B

Integrated Services (1992) As described in [RFC 1633] from 1994: r Philosophy: “guarantees cannot

Integrated Services (1992) As described in [RFC 1633] from 1994: r Philosophy: “guarantees cannot be achieved without reservations” r Four components to Int. Serv architecture: m m packet scheduler classifier admission control routine reservation setup protocol

Int. Serv Components All components implemented at all routers! r Packet Scheduler m m

Int. Serv Components All components implemented at all routers! r Packet Scheduler m m m Manages forwarding of different streams Required resources: sets of queues, timers Example: Implementation of Weighted Fair Queuing (WFQ) r Classifier m Maps packets to a class m Packets in same class treated similarly m Examples: • per-flow class • video-packet class

Int. Serv Components (cont’d) r Admission Controller m Determines whether or not to admit

Int. Serv Components (cont’d) r Admission Controller m Determines whether or not to admit a new flow m Q: why would a flow be rejected? m Requirements: • Knowledge of available resources at router • (conservative) model of flow’s resource consumption – e. g. , leaky bucket m The hard part: getting apps to characterize their flows r Reservation Setup Protocol m Sets up and maintains (distributed) flows’ network resource usage • “negotiates” between admission controllers at routers • establishes active classifiers at routers m e. g. , RSVP protocol

RSVP protocol r The commonly suggested reservation setup protocol r Designed for multicast sessions

RSVP protocol r The commonly suggested reservation setup protocol r Designed for multicast sessions (unicast is a special case) r Receiver-oriented: receivers initiate requests m allows for receiver heterogeneity r Reservation styles allow merging of reservations (i. e. , use the style that’s appropriate for the app) r Uses soft-state: reservations need to be refreshed or they expire. Why soft-state? r Dynamic: able to reconfigure reservation rather than perform complete teardown / setup

RSVP messaging R 1 S R 2 RSVP state info r Rcvrs make requests

RSVP messaging R 1 S R 2 RSVP state info r Rcvrs make requests for reservations r Sufficient resources: Router reserves per outgoing interface (i. e. , link) and forwards request upstream r Insufficient: send Resv. Error message downstream r Path messages: from sender toward rcvr so that routers know where to forward receiver requests. m Why not just head toward sender using Internet routing tables?

RSVP Reservation Styles r Fixed-Filter: Allocation per sender indicated m Sample application: multimedia (e.

RSVP Reservation Styles r Fixed-Filter: Allocation per sender indicated m Sample application: multimedia (e. g. , send audio (S 1) and video (S 2) at same time) R 1 S 2 S 1: 10 S 2: 7 S 1: 10 S 2: 2 S 1 : 7 S 2: 7 S 1: 10 S 2: 2 R 2 S 1 : 5 S 2: 7 R 3 S 1 : 7 requests

RSVP Reservation Styles r Shared-Explicit: Allocation shared by list of senders m Sample application:

RSVP Reservation Styles r Shared-Explicit: Allocation shared by list of senders m Sample application: multimedia (e. g. , debate w/ 2 speakers) S 1: 10 R 1 S : 10 2 S 1 S 2 (S 1, S 2: 10) R 2 S 1 : 5 S 2: 5 R 3 S 1 : 7 (S 1, S 2: 7) requests

RSVP Reservation Styles r Wildcard-Filter: Allocation shared by all senders m Sample application: town

RSVP Reservation Styles r Wildcard-Filter: Allocation shared by all senders m Sample application: town meeting (one sender, but not clear who the speakers might be) S 1 S 2 10 10 10 R 1 10 R 2 5 R 3 7 7 requests

Style Summary r Fixed-Filter: reservation per sender m Senders don’t “share” bandwidth m Dynamic

Style Summary r Fixed-Filter: reservation per sender m Senders don’t “share” bandwidth m Dynamic event: rcvr wants to change a sender allocation r Shared-Explicit: reservation per list-of-senders m Fixed set of senders “share” bandwidth m Dynamic event: rcvr wants to add/remove sender or change group allocation r Wildcard-Filter: no sender specified w/ reservation m Any sender can “share” bandwidth m Dynamic event: new sender begins transmitting, rcvr wants to increase its receiving allocation

Int. Serv: Problems r Reservation protocols and structure complicated m lots of message passing

Int. Serv: Problems r Reservation protocols and structure complicated m lots of message passing m coordination problems r All routers maintain state maintenance requires additional processing / memory resources m Lots of flows traverse core (backbone) routers • Lots of state: need more memory • Lots of RSVP msgs to process: slows transfer speeds • Scheduler and Classifier have too much to deal with

Diff. Serv r Q: What if Int. Serv is too complex/costly to deploy? r

Diff. Serv r Q: What if Int. Serv is too complex/costly to deploy? r A: Build a simpler scheme that takes into account m many apps have simple requirements (e. g. , need fixed bandwidth, low jitter) App can’t/doesn’t always conform to/provide “strict” model of resource usage different levels of functionality can be placed at different “types” of routers • network edge • network core

Differentiated Services H H H edge router H H core router H host r

Differentiated Services H H H edge router H H core router H host r Idea: keep the architecture simple within the core. m higher complexity permitted at edge routers r Just provide service differences, no explicit guarantees m i. e. , high and low priority classes (extra $$$ for high)

Diff. Serv Architecture r sha ie f i s s cla mark: /data per

Diff. Serv Architecture r sha ie f i s s cla mark: /data per mark: n /data edge core r Edge router m classify packet and mark packet m shape flow (control entry rate into core, drop pkts, change mark, etc. ) r Core router m handle packet based on its mark m possibly remark at peering points r Maintain Per-Hops Behavior (PHB): the desired service (e. g. rate) provided to a class at a given hop (router)

2 Competing PHBs r Expedited Forwarding (EF) [RFC 2598] m Router must support classes’

2 Competing PHBs r Expedited Forwarding (EF) [RFC 2598] m Router must support classes’ configured rates m EF class allocated fixed portion of router processing per unit time, e. g. , • Class-based queueing (CBQ) w/ priority to EF queue • Weighted Fair Queuing r Assured Forwarding (AF) [RFC 2597] m N classes (current standard: N=4) m M possible drop preferences w/in class (current standard: M=3) m Each classes’ traffic handled separately m Packet drop “likelihood” increases w/ drop preference

PHB Specs Omit. . . r EF and AF PHBs do not specify mechanism,

PHB Specs Omit. . . r EF and AF PHBs do not specify mechanism, e. g. , not specified: m m m edge classification, shaping or marking policy core router queuing mechansim ranges of rates, relative class/preference service ratios, etc. r Why are these details omitted? m Allow flexibility - as long as specified requirements are met. m Diff. Serv is a new idea - still unclear on which mechanism is best - so standardize later r Which is better, EF or AF?

Comparing PHB Models [Sahu] r How does isolating traffic (EF) compare with preferential treatment

Comparing PHB Models [Sahu] r How does isolating traffic (EF) compare with preferential treatment (AF w/ preferences)? r Measures: m expected loss rate m expected delays r Queue models: m EF: separate queues per class. High priority queue always serviced first (when non-empty) r Reqm’t: overall m AF: one queue w/ threshold for buffer / bandwidth accepting high drop-preference fixed pkts high priority traffic low priority traffic high & low priority traffic high drop-preference threshold

Intuition high priority traffic low priority traffic high & low priority traffic high drop-preference

Intuition high priority traffic low priority traffic high & low priority traffic high drop-preference threshold r Which is m better for reducing high-priority delay? m for high-priority loss? r How should buffer be allocated in the 2 models to make a fair comparison? m m EF: low priority gets its own buffer AF: low priority must share its buffer with high

EF vs. AF Comparison r Choose buffer partitions and threshold such that low-priority traffic

EF vs. AF Comparison r Choose buffer partitions and threshold such that low-priority traffic sees similar loss rates in two systems r Examine impact on high priority traffic r Main Results for high priority traffic: m m AF router needs to process 30 -70% faster than an EF router to maintain same delays (function of partition point and threshold location) EF router needs only 15% add’l buffer to yield same loss rates to low priority traffic as AF

Diff. Serv Open Issues r How to decide “how much” to reserve r How

Diff. Serv Open Issues r How to decide “how much” to reserve r How to do Diff. Serv for multicast m Much more complicated m Multicast reservation issues significantly complicated Int. Serv. What about Diff. Serv?

Summary: Internet Multimedia r Internet design: m flexible m easy to extend m difficult

Summary: Internet Multimedia r Internet design: m flexible m easy to extend m difficult to support time-bounded applications r Approach #1: Build on a best-effort network m adaptive applications (quality vs. available bandwidth) m deal with loss and jitter (e. g. , RTP/RTCP) r Approach #2: Modify (extend) IP design m Int. Serv: guarantee Qo. S, but takes lots of state m Diff. Serv: create high and low priority customers - give more to high