InternetWeek2000 Diffserv kjc@csl.sony.co.jp Diffserv QoS IP IP DS ISP
DiffServ DiffServ QoS DiffServ DiffServ host host host host Internet
IP: TCP: QoS 90 QoS IP IP IP
QoS QoS packet scheduler input driver internet forwarding output driver
QoS (admission control) (classifier) (shaping)(policing) (packet scheduler) (signaling)
( ) ( ) IP src_addr, dst_addr, src_port, dst_port, proto Diffserv TOS
Priority Queueing WFQ (Weighted Fair Queueing) CBQ (Class-Based Queueing) Drop-Tail/Drop-Head/Drop-Random RED (Random Early Detection) Priority Queueing priority queues packet classifier priority scheduler
WFQ (Weighted Fair Queueing) per-flow queues packet classifier packet scheduler WFQ: service assigned rate packet(i) length backlogged packet length backlog start time vt(i-1) virtual time vt(i) time
Link 100% agency X 70% agency Y 30% ftp 40% telnet 30% ftp 20% telnet 10% class 0 class 1 class 3 class 4 pri: 2 pri: 3 pri: 2 pri: 3 CBQ (Class-Based Queueing) (set overlimit) packet default class estimator classifier class 1 packet scheduler (weighted-round robin) class 2
RED (Random Early Detection) TCP ECN (Explicit Congestion Notification) RED Penalty-box RED 1.0 Packet Drop Probability mark prob 0 0 min thresh max thresh Average Queue Size
ARPA o u
Queueing Delay 0 0 Load 1.0 Parekh
Parekh s Model WFQ sender WFQ WFQ WFQ receiver token backet Parekh + + D i b i g i (h - 1) l i g i i h m=1 l max r m D i b i g i h i l i r m delay bound for flow i token bucket size for flow i weighted rate for flow i hop count for flow i max packet length for flow i bandwidth at hop m
QoS ISDN ATM (Broadband ISDN) IntServ DiffServ ATM VC CBR, UBR, VBR,...
ATM ATM ATM TE( ) QoS
IntServ/RSVP QoS 89 IETF 94 IntServ IntServ QoS RSVP (ReSerVation Protocol) IntServ IntServ IntServ Guaranteed QoS control QoS Controlled-Load LAN App WAN TCP
[ r, b, p, m, M ] r: rate Token Buffer b: bucket size Data Packet Data Buffer p: peak rate m: min policed unit M: max packet size RSVP IntServ
RSVP DiffServ ISP IntServ/RSVP ISP TOS
DiffServ QoS (CoS: Class of Service) TOS QoS (CoS: Class of Service) QoS: QoS: QoS QoS
QoS QoS QoS QoS QoS DiffServ QoS
TOS IPv4 4-bit version 4bit header length 8-bit time to live (TTL) 8-bit type of service (TOS) 16-bit identification 8-bit protocol 3-bit flags 16-bit total length (in bytes) 13-bit fragment offset 16-bit header checksum 32-bit source IP address 32-bit source IP address options (if any) data TOS (1) IP precedence (3bits) 0-7 TOS (4bits) precedence low delay throughput reliability min cost
TOS (2) precedence: telnet: Diffserv TOS ISP SLA (Service Level Agreement) SLS (Service Level Specification) ISP
Diffserv IETF 1997/08 Munich IETF Int-serv WG Diff-serv BOF Premium Service Model Drop precedence Model Cisco s CoS 1998/03 IETF Diff-serv WG ISP Premium Service Model EF PHB V. Jacobson (LBL) 10 ATM CBR
Drop precedence Model AF PHB D. Clark (MIT) RIO (RED with IN and OUT) RED RIO RIO (RED with In and Out) IN/OUT IN OUT RED OUT 1.0 Packet Drop Probability mark prob OUT IN 0 0 OUTmin OUTmax INmin Average Queue Size INmax
Cisco s CoS Class Selector PHB F. Baker (Cisco) Cisco IP Precedence WRED (Weighted RED): 7 RIO IETF DiffServ DS (RFC1394 ) IPv4 TOS IPv6 Traffic Class PHB SLA (Serviece Level Agreement)
DiffServ (1) static DiffServ (2) forwarding behavior BA DiffServ
DSCP (behavior aggregate) DSCP PHB ISP A ISP B C SLA E B B SLA C SLA E B C: customer E: edge node B: border node DS DS DS DSCP DS DSCP DS PHB
DS DS DSCP PHB DSCP DS
DS TOS 6 DSCP (DiffServ Code Point) DS 64 DS DSCP DiffServe CodePoint TOSDS 2 ECN IPv6 Traffic Class precedence low delay throughput reliability min cost DS Field (differentiated services field) (currently unused)
PHB (Per-Hop Behavior) DSCP PHB DSCP PHB 64 DSCP PHB Default PHB DSCP in packet PHB 1 PHB 2 64 entry lookup table
Diffserv PHB ingress interface traffic conditioner egress interface PHB shaper classifier meter dropper marker forwarding classifier queues dropper marker scheduler (marker, dropper) marker to Queue A input traffic classifier meter discard dropper marker to Queue B meter marker example traffic conditioner
BA(Behavior Aggregate) DS MF(Multi-Field) DS token-bucket r, b in-profile: out-of-profile:
color-aware/color-blind profile: r:rate, b:depth output: in-profile or out-of-profile packet input < (r, b) in-profile out-of-profile tokenbucket meter
2-rate 3-color meter/marker peak profile: r:rate, b:depth committed profile: R:rate, B:depth output: green, yellow or red < (R, B) green packet input < (r, b) yellow red peak rate tokenbucket committed rate tokenbucket 2-rate 3-color meter/marker DS DSCP
PHB (Per-Hop Behavior) PHB PHB AF Drop precedecnce PHB AF Class PHB
PHB Default PHB Class Selector PHB EF PHB AF PHB xxxxx0: Standard PHBs xxxx11: Experimental/Local Use xxxx01: Experimental/Local Use* 000000: Default PHB xxx000: Class Selector PHBs cccdd0: Assured Forwarding PHBs ( ) ccc: class {1,2,3,4} dd: drop prec {1,2,3} 101110: Expedited Forwarding PHB
Default PHB DSCP = 000000 Class Selector PHB IP Precedence Precedence WFQ, WRR, CBQ
EF (Expedited Forwarding) PHB PHB Conditioning PQ WFQ, WRR, CBQ AF (Assured Forwarding) PHB Precedence TCP UDP Precedence
PDB (Per-Domain Behavior) DS PHB PDB DS PDB Virtual Wire PDB EF PHB PDB Virtual Wire PDB core router edge router leaf site virtual wire diffserv network
EF AF EF (1) connection: from <src> to <dst> profile: <r>:rate, <b>:tokenbucket depth in-profile: delay: less than <msec> packet loss: less than <%> out-of-profile: discard classifier: <src><dst> to customer s TC TC (traffic conditioner): tokenbucket meter: <r>,<b> in-profile: mark <EF DSCP> out-of-profile: drop
EF (2) Provisioning DS EF <src> to <dst> EF AF (1) connection: from <src> committed profile: <R>:rate, <B>:tokenbucket depth peak profile: <r>:rate, <b>:tokenbucket depth in-committed-profile: packet loss less than <%> in-peak-profile: packet loss less than <%> out-of-profile: best effort classifier: <src> to customer s TC TC (traffic conditioner): trtcm: <R>,<B>,<r>,<b> green: mark <AF11 DSCP> yellow: mark <AF12 DSCP> red: mark <AF13 DSCP>
AF (2) Provisioning DS AF1 green PEP PDP (COPS, PIB) PDP: Policy Decision Point PEP: Policy Enforcement Point PEP PEP PEP PDP COPS protocol PEP
COPS (Common Open Policy Service) RSVP / Request/Decision (COPS-PR) TCP ( ) PIB (Policy Information Base) RSVP PIB, diffserv PIB Integrity object or IPSec COPS-PR COPS-PR (COPS Usage for Policy Provisioning) PEP COPS Configuration Request (PEP to PDP) / Decision (PDP to PEP) Policy PDP PDP unsolicited decision (install/update/delete) PEP unsolicited request
DiffServ DS Bandwidth Broker RSVP over DiffServ DiffServ over MPLS DS PHB
Bandwidth Broker DS PDP PEP PEP PDP PEP PDP PEP COPS protocol PEP PDP: Policy Decision Point PEP: Policy Enforcement Point DiffServ
Provisioning RSVP over DiffServ DiffServ RSVP RSVP RSVP Edge RSVP Edge EF path
ISP DiffServ DiffServ < > IETF: http://www.ietf.org/ IETF diffserv WG: http://www.ietf.org/html.charters/diffserv-charter.html IETF issll WG: http://www.ietf.org/html.charters/issll-charter.html IETF rap WG: http://www.ietf.org/html.charters/rap-charter.html ALTQ: http://www.csl.sony.co.jp/~kjc/software.html < > Internet Performance Survival Guide. G. Huston. Wiley. ISBN 0-471-37808-9. 2000. Differentiated Services for the Internet. K. Kilkki. ISBN 1-57870-132-5. 1999. Quality of Service. P. Ferguson and G. Huston. Wiley, ISBN 0-471-24358-2. 1998. An Engineering Approach to Computer Networking. S. Keshav. Addison-Wesley, ISBN 0-201-63442-2. 1997. High-speed Networks: TCP/IP and ATM Design Principles. W. Stallings. Prentice Hall, ISBN 0-13-904954-1. 1998. Gigabit Networking. C. Partridge. Addison-Wesley, ISBN 0-201-56333-9. 1993.